使用Centos上的pyodbc连接到Informix

时间:2017-03-24 19:48:39

标签: python centos informix

我尝试使用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>

所以我不知道可能是什么问题

2 个答案:

答案 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

希望这可以帮助别人! :