[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目录,里面有使用说明文档 |