我正在尝试使用 IBM DB2 数据服务器驱动程序 (ODBC)(v10.1) 和 ibm_db ( https://code.google.com/p/ibm从 django(v1.3.1) 连接到 IDS(v11.50) -db/)。从 django 到驱动程序的简单查询,例如“从 adm_audit 中选择不同的 adm_audit.action”,select distinct "adm_audit"."action" from "adm_audit"
并生成错误:
[IBM][CLI Driver][IDS/UNIX64] A syntax error has occurred.
我尝试在 db2cli 中执行相同的 sql 语句,它返回相同的错误:
>select distinct "adm_audit"."action" from "adm_audit"
select distinct "adm_audit"."action" from "adm_audit"
SQLError: rc = 0 (SQL_SUCCESS)
SQLGetDiagRec: SQLState : 42000
fNativeError : -201
szErrorMsg : [IBM][CLI Driver][IDS/UNIX64] A syntax error has occurred.
cbErrorMsg : 58
如果引号被删除,语句成功完成:
> select distinct adm_audit.action from adm_audit
select distinct adm_audit.action from adm_audit
FetchAll: Columns: 1
action
...results...
FetchAll: 13 rows fetched.
阿努建议?感谢任何帮助。
问题解决了。
1) DELIMIDENT 变量
2) 从 ibm_db_django -> operation.py 更改大约 176 行,字符串
"name = upper( name )"
至
"name = lower( name )"
(并从字符串类导入'lower')