在Centos上使用pyodbc连接到Informix

2024-10-02 22:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用pyodbc连接Informix DNS,但出现错误:

[informix@localhost Scipts]$ ./Test1.py
Error: ('H', '[H] [unixODBC][ (4294956236) (SQLDriverConnectW)')

这是我的剧本和我的cnx:

^{pr2}$

实际上,我可以通过isq登录:

isql -v cms_net

[informix@localhost Scipts]$ isql -v cms_net
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

所以我不知道有什么问题


Tags: pylocalhostnetcmsdns错误errorinformix
2条回答

该错误消息似乎不完整,您应该得到类似“HY004”的内容,但您只得到第一个字符“H”。 当ODBC.INI文件未正确设置。在

“isql”unixODBC不是Unicode,我相信unixODBC中包含一个名为“iusql”的unixODBC是Unicode,应该可以更好地“模拟”python中的操作。我想如果你用相同的DSN来尝试这个版本,你会得到同样的截断错误。在

对于unixODBC,通常设置为:

[ODBC]
;uncomment the below line for UNICODE connection
UNICODE=UCS-2

所以,试着把它加到你的ODBC.INI文件在

我无法修复此错误,但我将库更改为informixdb,因此通过该库,我可以使用以下连接将Informix与python连接起来:

cnxn = informixdb.connect('database_name@server_name', 'UID', 'PWD')

希望这能帮助别人!:]

相关问题 更多 >