SQL Server Native Client 11.0 から MSOLEDBSQL を使用するようにアプリケーションを変換しています
接続文字列を "Driver={SQL Server Native Client 11.0}" から "Provider=MSOLEDBSQL" に、UID、PWD、Server、Database パラメーターと共に変更しました。
しかし、SQL_DRIVER_COMPLETE を使用すると、データベースに接続できず、「[Microsoft][ODBC Driver Manager] Dialog failed」というエラー メッセージが表示されました。
IM008 Dialog failed The driver attempted to display its login dialog box and failed.
WindowHandle was a null pointer, and DriverCompletion was not SQL_DRIVER_NO_PROMPT.
同様に、SQL_DRIVER_NOPROMPT を使用すると、「[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified」というエラーがスローされます。
IM002 Data source not found and no default driver specified (DM) The data source name specified in the connection string (InConnectionString) was not found in the system information, and there was no default driver specification.
(DM) ODBC data source and default driver information could not be found in the system information.
上記のエラーは、SQLDriverConnect() への呼び出しの結果として返されます。
https://docs.microsoft.com/en-us/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver15をダウンロードしてインストールし、バイナリを表示できましたsystem32 フォルダー。
MS Docs に従って、レジストリ設定はインストールの一部として行われます。
All appropriate registry settings for the OLE DB Driver for SQL Server are made as part of the installation process.
MSOLEDBSQL ドライバーを使用するには、追加のレジストリ構成またはその他の設定を行う必要がありますか?
上記のように Driver キーワードを使用すると、ネイティブ クライアントで機能します。しかし、「Provider=SQLNCLI11」を使用すると失敗します。これについて何か考えはありますか?
問題はドライバーのロードに関連していると思われます。
誰かがこの問題を解決するのを助けることができれば感謝します。
前もって感謝します。