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 Karen Tracey)

  • 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 erny, 16 years ago

Component: UncategorizedDatabase layer (models, ORM)

I should have put the settings.py part into brackets.

comment:2 by Karen Tracey, 16 years ago

Description: modified (diff)

Fixed formatting.

by erny, 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.
Back to Top