adodbapi
SQL Server へのデータベース接続にライブラリを使用しています。
以下の接続文字列は、SQL Server 認証で完璧に動作します。
config = configparser.ConfigParser()
config.read("C:/configsql.ini")
_SERVER_NAME = config['SQL']['SERVER_NAME']
_DATABASE = config['SQL']['DATABASE']
_USERNAME = config['SQL']['USERNAME']
_PASSWORD = config['SQL']['PASSWORD']
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};UID={2};PWD={3};".format(_SERVER_NAME,_DATABASE,_USERNAME,_PASSWORD))
return conn
Windows 認証を使用して接続しようとすると、機能しません。
以下のように接続文字列を変更しました。
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security=SSPI;Persist Security Info=False".format(_SERVER_NAME,_DATABASE))
そして、私はこの例外を受けています:
トレースバック (最新の呼び出しが最後):
ファイル "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py"、113 行目、接続中co.connect(kwargs)
ファイル "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py"、275 行目、接続
self.connector.Open() # ADO 接続を開く
ファイル ""、3 行目、Open
File "C:\Program Files (x86)\Python 3.5\lib\site-packages\win32com\client\dynamic.py"、287 行目、ApplyTypes結果=自分。oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
pywintypes.com_error: (-2147352567、「例外が発生しました。」、(0、「Microsoft OLE DB Driver for SQL Server」、「ログインに失敗しました。ログインは信頼されていないドメインからのものであり、統合認証では使用できません。」、なし、 0、-2147467259)、なし)
上記の例外の処理中に、別の例外が発生しました:
トレースバック (最新の呼び出しが最後):
ファイル "Workflow.py"、47 行目、sql_connection 内conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;データ ソース={0};データベース={1};統合セキュリティ=SSPI;Persist Security Info=False".format(_SERVER_NAME,_DATABASE))
ファイル「C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py」、117 行目、接続
raise api.OperationalError(e, メッセージ)
adodbapi.apibase.OperationalError: (com_error(-2147352567、「例外が発生しました。」、(0、「Microsoft OLE DB Driver for SQL Server」、「ログインに失敗しました。ログインは信頼されていないドメインからのものであり、統合認証では使用できません。 ', なし, 0, -2147467259), なし), '"PROVIDER=MSOLEDBSQL;Data Source=TESTSERVER;Database=TEST;Integrated Security=SSPI;Persist Security Info=False" への接続を開くときにエラーが発生しました"')
Windows 認証を使用して SQL Server に接続する方法を教えてください。