Opened 16 years ago
Last modified 16 years ago
#9528 closed
Oracle (cx_Oracle 4.4) exception raises AttributeError (no attribute message) with some errors — at Initial Version
Reported by: | erny | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.0 |
Severity: | Keywords: | Oracle | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
- Description: Django requires the exception to have "message" attribute, but some errors don't. The real error is hidden and difficult to get.
- How to reproduce:
- install cx_Oracle: sudo easy_install cx_Oracle #requires python-setuptools
- in your settings.py, use:
- DATABASE_ENGINE = 'oracle'
- DATABASE_NAME = 'XE' # your dbname here
- DATABASE_USER = 'testuser' # your user here
- DATABASE_PASSWORD = 'password' # your password here
- DATABASE_HOST = 'localhost' # your db host
- DATABASE_PORT = # leave empty if default port 1521
- DEFAULT_TABLESPACE = 'NONEXISTING' # use some invalid tablespace
- DEFAULT_INDEX_TABLESPACE = 'NONEXISTING' # here also
- with an empty database, run syncdb: ./manage syncdb
Traceback:
...
File "/opt/csa-1.0.0-beta/parts/django/django/core/management/commands/syncdb.py", line 80, in handle_noargs
cursor.execute(statement)
File "/opt/csa-1.0.0-beta/parts/django/django/db/backends/oracle/base.py", line 364, in execute
if e.message.code == 1400 and type(e) != IntegrityError:
AttributeError: DatabaseError instance has no attribute 'message'
Note:
See TracTickets
for help on using tickets.