我尝试使用pyodbc连接我的Informix DNS但是我有错误:
[informix@localhost Scipts]$ ./Test1.py
Error: ('H', '[H] [unixODBC][ (4294956236) (SQLDriverConnectW)')
这是我的剧本和我的cnx:
#!/usr/bin/python
import pyodbc
import os
cnxn = pyodbc.connect(dsn='cms_net')
实际上我可以通过isq登录:
isql -v cms_net
[informix@localhost Scipts]$ isql -v cms_net
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
所以我不知道可能是什么问题
答案 0 :(得分:0)
该错误消息似乎不完整,您应该得到类似“HY004”的内容,但是您只获得第一个字符“H”。 当正确设置ODBC.INI中的UNICODE设置时,通常会发生这种情况。
“isql”unixODBC不是Unicode,我相信unixODBC中包含一个名为“iusql”的unicode,并且应该“更好地”模拟你在python中所做的事情。我想如果您使用相同的DSN尝试该版本,您将得到相同的截断错误。
对于unixODBC通常设置为:
[ODBC]
;uncomment the below line for UNICODE connection
UNICODE=UCS-2
因此,请尝试将其添加到ODBC.INI
答案 1 :(得分:0)
我无法解决此错误,但我将我的库更改为informixdb,因此我可以使用此连接连接我的Informix whit python:
itext7-core-7.0.2
希望这可以帮助别人! :