Excel VBAでOracle に接続しているマクロが、実行時エラー3706「プロバイダーが見つかりません。
正しくインストールされていない可能性があります。」とエラーが表示されて接続ができない状態になりました。
調べてみるとエラーが表示されずにマクロが正しく動くパソコンもあります。
マクロが動くパソコンと動かないパソコンの違いを調べてみるとExcelのバージョンが違う。
動かないパソコンはExcel 2019 64ビット、マクロが動くパソコンはExcel 2013 32ビットです。
今までOracleのClientは32ビット版を使っていたので、Excel 64ビットだとOracle Client 32ビットは接続ができないようです。
今回、Excel VBA でOracle DB接続 「プロバイダーが見つかりません。…」と表示される場合の対処方法を共有します。
64-bit ODAC 12.2c Release 1 for Windows x64
下記リンクから64ビット版のODACをダウンロードしてインストールします。
https://www.oracle.com/jp/database/technologies/oracle-data-access-components-odac.html
zipファイルを展開します。
「setup.exe」ファイルをクリックします。
ユーザアカウント制御が表示されます。「はい」をクリックします。
製品言語を選択して「次へ(N)」をクリックします。
ユーザーの指定を「次へ(N)」をクリックします。
インストール場所を指定して「次へ(N)」をクリックします。
製品コンポーネントはそのままで「次へ(N)」をクリックします。
ODP.NET 「次へ(N)」をクリックします。
Oracle の設定を入力して「次へ(N)」をクリックします。
インストール前提条件のチェックが始まり完了したら「インストール(I)」をクリックします。
インストールが完了したら「閉じる(C)」をクリックします。
ODBC データソース(64ビット)設定
「コントロール パネル」→「管理ツール」を開き
「ODBCデータソース(64ビット)」をクリックします。
「追加(D)」をクリックします。
「Oracle in OraClient12」を選択して「完了」をクリックします。
Oracleの各種値を設定して「Test connection」をクリックします。
「Connetion successful」で接続の成功です。
あとはVBA マクロを実行してエラーが表示されないか確認してください。
以上が、Excel VBA でOracle DB接続 「プロバイダーが見つかりません。…」の対処方法でした。