我很难在Linux上使用pyodbc连接到sqlserverdb。我创建了一个ODCINI文件条目。我从这个开始:
import pyodbc
conn = pyodbc.connect('DSN=DSN;Database=DB;UID=UID;PWD=PWD')
cursor = conn.cursor()
cursor.execute('SELECT count(*) FROM dbo.tableA')
for row in cursor.fetchall():
print(row)
会引发以下错误:
^{pr2}$我在谷歌上搜索了这个错误,并在阅读了一些建议后添加了这一行:
pyodbc.pooling=False
所以脚本改为:
import pyodbc
pyodbc.pooling=False
conn = pyodbc.connect('DSN=DSN;Database=DB;UID=UID;PWD=PWD')
cursor = conn.cursor()
cursor.execute('SELECT count(*) FROM dbo.tableA')
for row in cursor.fetchall():
print(row)
结果是:
pyodbc.InterfaceError: ('IM003', '[IM003] 䑛瑡䑡物捥嵴佛䉄⁃楬嵢匠数楣楦摥搠楲敶\u2072潣汵\u2064潮⁴敢氠慯敤d\uffff\uffff㢸ꔻ罱\x00\ue5b8鮫罱\x00㳰ꔻ罱\x00\uffff\uffff罱\x00\x00\x00\x00\x00鳭ꕞ罱\x00塰ꕉ罱 (0) (SQLDriverConnect)')
在同事的建议下,我在pyodbc.connect线路:
conn.setdecoding(pyodbc.SQL_CHAR, encoding='latin1', to=str)
conn.setencoding(str, encoding='latin1')
我用拉丁语和utf-8试过了。两个都没有用,还是用汉字抛出同样的界面错误。在
有什么想法吗?在
目前没有回答
相关问题 更多 >
编程相关推荐