2017-05-23 24 views
1

pyodbcとpypyodbc pythonパッケージを使用してSQLサーバーに接続しました。SQLサーバーとのPython接続

これらの['SQL Server'、 'SQL Serverネイティブクライアント10.0'、 'SQL Server用ODBCドライバ11'、 'SQL Server用ODBCドライバ13']のいずれかを使用したドライバ。

接続文字列:[28000] [Microsoft]の[ODBC SQL Serverドライバー] [SQL Server]ログイン:

connection = pyodbc.connect('DRIVER={SQL Server};' 
'Server=aaa.database.windows.net;' 
'DATABASE=DB_NAME;' 
'UID=User_name;' 
'PWD=password') 

今、私は "(u'28000' 、U DatabaseError" のようなエラーメッセージを取得していますユーザー

に失敗しました。しかし、私は、SQLサーバー管理スタジオを介してサーバに接続することができます。

そのSQL Server認証ではなくWindows認証に。

これはpythonパッケージとドライバの問題かDBの問題についてですか?の解き方?

+0

試したことはありませんが、https://www.connectionstrings.com/sql-server-native-client-11-0-odbc-driver/およびhttps://stackoverflow.com/questions/11451101/に従ってください。あなたの接続文字列が間違っている可能性があります - 個々のパラメータを個々の文字列に分割し、文字列全体を__oneではないと確信していますか? –

+0

はい...それは正しいです..それ以外の場合、無効な構文エラーが発生します –

+0

これを解決しましたか?私は同じ問題があります。 – user1761806

答えて

0

問題はドライバの問題ではなく、エラーメッセージDatabaseError: Login failed for userが表示されます。これは、ユーザーが検証できない資格情報でログインしようとするとこの問題が発生することを意味します。私は、代わりにTrusted_Connection=yesを使用する場合は、あなたのWindows認証でログインしている疑いがある:

connection = pyodbc.connect('DRIVER={SQL Server};Server=aaa.database.windows.net;DATABASE=DB_NAME;Trusted_Connection=yes') 

は、詳細については、SQL Server Authentication modesの違いについてmy old answerを参照してください。

+0

SQLサーバーのユーザー名とパスワード.. SQL認証を使用する –