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 Version 2
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 (last modified by )
- 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'
Change History (3)
comment:1 by , 16 years ago
Component: | Uncategorized → Database layer (models, ORM) |
---|
by , 16 years ago
Attachment: | oracle_attribute_error.diff added |
---|
Patch for "AttributeError: DatabaseError instance has no attribute 'message'"
Note:
See TracTickets
for help on using tickets.
I should have put the settings.py part into brackets.