我需要使用Python 2.7將unicode發送到SQL Server。我failed with pymssql。我現在試圖讓pypyodbc
工作(而不是pyodbc
),因爲它給出working unicode examples。問題在於示例中的連接字符串看起來不像我認識的任何東西。我看着this,並且,一個小試驗和錯誤之後,建造這個字符串:使用pypyodbc連接到SQL Server
conn = pypyodbc.connect("DRIVER={SQL Server};SERVER='MyServer';UID='me';PWD='MyPassword';DATABASE='db'")
回來一個DatabaseError
集中在連接字符串:
C:\Anaconda\lib\site-packages\pypyodbc.pyc in __init__(self, connectString, autocommit, ansi, timeout, unicode_results, readonly, **kargs)
---> 2 conn = pypyodbc.connect("DRIVER={SQL Server};SERVER='MyServer';UID='me';PWD='password';DATABASE='db'")
C:\Anaconda\lib\site-packages\pypyodbc.pyc in __init__(self, connectString, autocommit, ansi, timeout, unicode_results, readonly, **kargs)
---> 2273 self.connect(connectString, autocommit, ansi, timeout, unicode_results, readonly)
C:\Anaconda\lib\site-packages\pypyodbc.pyc in connect(self, connectString, autocommit, ansi, timeout, unicode_results, readonly)
---> 2321 check_success(self, ret)
C:\Anaconda\lib\site-packages\pypyodbc.pyc in ctrl_err(ht, h, val_ret, ansi)
---> 919 raise DatabaseError(state,err_text)
DatabaseError: (u'08001', u'[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.')
我知道我的憑據是正確的,因爲我已經使用它們使用pymssql成功連接。我錯過了什麼?與pyodbc
conn = pypyodbc.connect("DRIVER={SQL Server};SERVER=MyServer;UID=me;PWD=password;DATABASE=db")
由於pypyodbc
提到的兼容性,花一分鐘過目pyodbc connection string docs和pyodbc.connect()例子: