[英]Unable to connect to MSSQL from Python
我的Python代碼:
import pyodbc
cnxn = pyodbc.connect('DRIVER=FreeTDS;DSN=S29;UID=test;PWD=test;TDS_Version=8.0;ClientCharset=UTF8')
cursor = cnxn.cursor()
cursor.execute("select user_id, user_name from users")
rows = cursor.fetchall()
for row in rows:
print row.user_id, row.user_name
得到錯誤:
Traceback (most recent call last):
File ".../test_mssql_connect.py", line 4, in <module>
cnxn = pyodbc.connect('DRIVER=FreeTDS;DSN=S29;UID=test;PWD=test;TDS_Version=8.0;ClientCharset=UTF8')
pyodbc.Error: ('HY000', '[] (20013) (SQLDriverConnect)')
我找不到信息,這是什么錯誤('HY000','[](20013)(SQLDriverConnect)')以及如何解決此錯誤。
同時通過tsql , osql和isql我成功連接到了base
我的odbc.ini
[S29]
Driver=FreeTDS
Description=S29
ServerName=192.168.0.29
Database=test
UID=test
PWD=test
TDS_Version=8.0
我的odbcinst.ini
[FreeTDS]
Description=FreeTDS
Driver=/usr/local/Cellar/freetds/0.95.1/lib/libtdsodbc.so
Setup=/usr/local/Cellar/freetds/0.95.1/lib/libtdsodbc.so
UsageCount=2
CPTimeout =
CPReuse =
TDS Version = 8.0
client charset = utf-8
我的freetds.conf
[global]
tds version = 8.0
[192.168.0.29]
host = 192.168.0.29
port = 1433
tds version = 8.0
[S29]
host = 192.168.0.29
port = 1433
tds version = 8.0
您的freetds.conf設置是什么? 請注意,您很可能希望使用TDS版本7.3,盡管我認為這不是問題,盡管可能是這樣,因為它默認為TDS版本7.1。 FreeTDS支持的TDS版本號的此處文檔:
http://www.freetds.org/userguide/choosingtdsprotocol.htm
您可能必須提供端口號,但是如果沒有看到freetds.conf DSN設置,就很難分辨了。 如果沒有Python的DSN,我的運氣會更好。 由於8.0不是有效的TDS版本,因此我將為您提供適用於我的完整示例:
freetds.conf:
[examplesql]
host = examplesql.server.com
port = 1433
tds version = 7.3
odbc.ini:
[examplesql]
Driver = FreeTDS
Server = examplesql.server.com
Port = 1433
TDS_Version = 7.3
odbcinst.ini:
[FreeTDS]
Description = FreeTDS with Protocol up to 7.3
Driver = /usr/lib64/libtdsodbc.so.0
pyodbc connect,免費提供DSN:
DRIVER={FreeTDS};SERVER=examplesql.server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;
您必須修改odbcinst.ini以指向驅動程序所在的位置。 一些注意事項:
看到這里更多:
https://msdn.microsoft.com/zh-CN/library/dd339982.aspx
祝好運。
我重新安裝了pyodbc ,現在可以使用了。 我在這里下載https://github.com/juztin/pyodbc
python setup.py build install --macports
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.