Excel VBA でOracle DB接続 「プロバイダーが見つかりません。…」の対処方法

エラー画面

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

ODBCダウンロード

zipファイルを展開します。

ファイルを解凍する

「setup.exe」ファイルをクリックします。

ユーザアカウント制御が表示されます。「はい」をクリックします。

Setup.exeの実行

製品言語を選択して「次へ(N)」をクリックします。

言語選択

ユーザーの指定を「次へ(N)」をクリックします。

ユーザー指定

インストール場所を指定して「次へ(N)」をクリックします。

インストール場所の選択

製品コンポーネントはそのままで「次へ(N)」をクリックします。

製品コンポーネント

ODP.NET 「次へ(N)」をクリックします。

ODP.net 選択

Oracle の設定を入力して「次へ(N)」をクリックします。

DB接続設定

インストール前提条件のチェックが始まり完了したら「インストール(I)」をクリックします。

インストール中

インストールが完了したら「閉じる(C)」をクリックします。

インストール完了

ODBC データソース(64ビット)設定

「コントロール パネル」→「管理ツール」を開き

「ODBCデータソース(64ビット)」をクリックします。

ODBCデータベース設定

「追加(D)」をクリックします。

アドミニストレーター

「Oracle in OraClient12」を選択して「完了」をクリックします。

クライアント選択

Oracleの各種値を設定して「Test connection」をクリックします。

オラクル各種値を設定

「Connetion successful」で接続の成功です。

接続に成功

あとはVBA マクロを実行してエラーが表示されないか確認してください。

以上が、Excel VBA でOracle DB接続 「プロバイダーが見つかりません。…」の対処方法でした。