pyodbcでSQL Serverにログインできない
pyodbcからSQL Serverに接続したいのですが、ユーザ名に @ が含まれることで、サーバに接続できません。@をエスケープするためにURLエンコードおよび中括弧{}での囲い込みを試しましたが、前者はデコードがされず、後者はエスケープが出来ていない様子です。 こちら解決方法はありますでしょうか?下記は生じたエラーのイメージです。(データベース名等はあくまで例となります)
【トライ1】 pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=sample.net;DATABASE=sampledb001;UID=user01@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={user01@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=user01@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)'