#1874 closed enhancement (wontfix)
Using Oracle instead of PySQlite
Reported by: | Owned by: | Jonas Borgström | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | general | Version: | 0.8.4 |
Severity: | normal | Keywords: | oracle |
Cc: | sekhargs@…, ccidral.newsbox@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
We are trying out to implement Trac for CM. Is there any way to use Oracle as back end instead of PySqlite. If there is any configuration change to be done please let me know.
Attachments (0)
Change History (10)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
Component: | tracd → general |
---|---|
Milestone: | 0.8.3 |
Priority: | high → normal |
Type: | defect → enhancement |
I tried to write Oracle backend but I run in several serious issues and decided to cease my efforts.
- Oracle is very picky about field types in join queries. Specially it is big problem with CLOB and non CLOB fields.
- Oracle really has not decent equivalent to "TEXT" fieldtype in Oracle you have "CLOB" but using CLOB is really PITA.
- Oracle doesn't support empty strings. It translates empty string to NULL which makes problems in some queries. You cant do
SELECT * FROM FOOBAR WHERE MYTEXTFIELD = ''
because Oracle translates where clause toWHERE MYTEXTFIELD = NULL
and all you know how true that is.
Unless you can convice Oracle to provide decent long-textfield support I really doubt that we'll se Oracle as direct backend to Trac.
But there is workaround: You can use Oracle Heterogenous Services or Oracle Transparent Gateways. I've user first one few times to read Excel data via ODBC. Works great. This would work so that you setup, i.e. ODBC driver to access Trac DB (postgre or sqlite I think both has ODBC driver available) and then setup Oracle to read Trac db. Now you can access your Trac data from Oracle.
comment:3 by , 19 years ago
Hi! We'd love Oracle as a backend, as we have all other databases in there, only the Trac DB missing… Is there any advance on this topic?
comment:5 by , 19 years ago
Cc: | added |
---|
Is there any hope to get this implementation done given all obstacles provided by the Oracle SGBD stated in the comment made by Rede?
comment:6 by , 18 years ago
I might give a second shot with this new database backend since it would enable to do lot of things without hacking Trac source itself and due the fact that there is this new Oracle XE that can be used without any fees.
It doesn't remove problems but might provide workaround.
follow-up: 10 comment:7 by , 18 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
I am working on removing Trac's custom DB-abstraction layer in favor of SQLAlchemy which supports additional databases including Oracle. As Rede mentioned, Oracle has a number of issues that make it very difficult to integrate with Trac's database layer. Until we have a more advanced database layer such as SQLAlchemy we won't be able to support Oracle. This is being worked on in sandbox/sqlalchemy
comment:8 by , 17 years ago
Any update on TRAC's support for Oracle as back end. Have changes been completed in the database layer to support Oracle.
comment:10 by , 14 years ago
Replying to mgood:
I am working on removing Trac's custom DB-abstraction layer in favor of SQLAlchemy which supports additional databases including Oracle. …snip… This is being worked on in sandbox/sqlalchemy
The old sandbox/sqlalchemy link above was moved more than once. It appears to now be here: sandbox/Attic/sqlalchemy-ng. Since that project is in the "Attic" maybe it was never finished?
You might want to look at how PostgreSQL support is done. Trac appears to be using psycopg driver, but that's all I know.