[python语法语义] cx_Oracle.DatabaseError: ORA-00911: 无效字符

BIGN 2007-08-08
setting.py这样配置
DATABASE_ENGINE = 'oracle'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'orcl'             # Or path to database file if using sqlite3.
DATABASE_USER = 'django'             # Not used with sqlite3.
DATABASE_PASSWORD = 'django'         # Not used with sqlite3.
DATABASE_HOST = '172.16.11.30'             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '1521'             # Set to empty string for default. Not used with sqlite3.


syncdb错误
D:\share\mysite>python manage.py syncdb
Creating table auth_message
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "D:\Python25\Lib\site-packages\django\core\management.py", line 1672, in execute_manager
    execute_from_command_line(action_mapping, argv)
  File "D:\Python25\Lib\site-packages\django\core\management.py", line 1571, in execute_from_command
_line
    action_mapping[action](int(options.verbosity), options.interactive)
  File "D:\Python25\Lib\site-packages\django\core\management.py", line 534, in syncdb
    cursor.execute(statement)
  File "D:\Python25\Lib\site-packages\django\db\backends\oracle\base.py", line 72, in execute
    return Database.Cursor.execute(self, query, params)
cx_Oracle.DatabaseError: ORA-00911: 无效字符


请问要怎么解决呢,谢谢
macoo 2007-10-05
有乱码吧
gif98 2007-11-28
我也碰见了相同的问题,后来发现是传入的query参数中有分号";",把它去掉就可以了,我在 Database.Cursor.execute(self, query, params) 方法中加了一句:query = query.replace(";","")就可以运行了,不过运行到加constraint的时候又报错了,好像是说名称太太长了,谁知道解决办法?谢谢
google了一星期,解决办法是下载补丁:http://code.djangoproject.com/changeset/4995/django/branches/boulder-oracle-sprint?old_path=%2F&old=4995&format=zip
替换site-packeges/django目录,里面有使用说明文档
Global site tag (gtag.js) - Google Analytics