2013-04-15 9 views
8

Python 2.7でSQL ServerにUnicodeを送信する必要があります。 I failed with pymssql。私は今、pypyodbcpyodbcと反対)を得ようとしています。それは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を使って正常に接続しました。私は何が欠けていますか?

答えて

15

serverから単一引用符を削除uidpwd、および接続文字列のdatabase属性:pypyodbcpyodbcとの互換性を言及しているので

conn = pypyodbc.connect("DRIVER={SQL Server};SERVER=MyServer;UID=me;PWD=password;DATABASE=db") 

pyodbc connection string docspyodbc.connect()例に目を通すために時間がかかります。私はpyodbcで、この構文を使用します。接続文字列にポート番号(1433)を除外

cnxn = connect(driver='{SQL Server}', server='localhost', database='test', uid='me', pwd='me2') 
2

は、Linuxクライアント(ただし、Windows 7の)から私にエラーを投げました。おそらく設定上の問題ですが、私はそれを追う時間がありませんでした。

これを外に置くと、他の人に役立つ場合があります。

関連する問題