次の方法で共有

pyodbcでSQL Serverにログインできない

真 岩崎 0 評価のポイント
2024-05-08T03:37:00.57+00:00

pyodbcからSQL Serverに接続したいのですが、ユーザ名に @ が含まれることで、サーバに接続できません。@をエスケープするためにURLエンコードおよび中括弧{}での囲い込みを試しましたが、前者はデコードがされず、後者はエスケープが出来ていない様子です。 こちら解決方法はありますでしょうか?下記は生じたエラーのイメージです。(データベース名等はあくまで例となります)

【トライ1】 pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=sample.net;DATABASE=sampledb001;UID=******@abc.com;PWD=ABC123')

--> InterfaceError: ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "abc.com" requested by the login. The login failed. (40532) (SQLDriverConnect); [HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "abc.com" requested by the login. (40532)'

【トライ2】 pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=sample.net;DATABASE=sampledb001;UID=user01%40abc.com;PWD=ABC123')

--> InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'user01%40abc.com'. Reason: Azure Active Directory only authentication is enabled. Please contact your system administrator. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'user01%40abc.com'. Reason: Azure Active Directory only authentication is enabled. Please contact your system administrator. (18456)"

【トライ3】 pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=sample.net;DATABASE=sampledb001;UID={******@abc.com};PWD=ABC123')

--> InterfaceError: ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "abc.com" requested by the login. The login failed. (40532) (SQLDriverConnect); [HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "abc.com" requested by the login. (40532)'

【トライ4】  pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=sample.net;DATABASE=sampledb001;UID=******@xyz.com;PWD=ABC123')

--> InterfaceError: ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "xyz.com" requested by the login. The login failed. (40532) (SQLDriverConnect); [HY000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "xyz.com" requested by the login. (40532)'

SQL サーバー | その他
SQL サーバー | その他

特定のカテゴリで扱われていない SQL Server の追加機能とトピック

0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。