Opened 15 years ago

Last modified 15 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'

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top