前提・実現したいこと
環境:
Windows10 64bit
Excel 2016 64bit
OracleClient 9i 32bit
やりたいこと:
Excel(VBA)でOracleデータベースからデータを取得したい。
経緯:
oo4oでデータを取得していたExcel(VBA)を64bit版Excelが入っているPCに移したところデータが取得できなくなってしまったので調べたところ、oo4oは64bitに対応していないことが分かりOLEDBで接続するように修正しました。
しかし、32bit版Excelではデータが取得できるが64bit版Excelではデータが取得できませんでした。
(再度調べたところ)
64bit版Excelでは32bit版OracleClientインストール時に入った32bit版Providerは使えない。
ODBC:64bit版Excelが使用できるのは64bit用ODBCでOracleClientが32bitなのでProviderがないからダメ?
知りたいこと:
ツールを使用するPCの数が多いのでできれば64bit版OracleClientの追加インストールは避けたいのですが、
64bit版Excelと32bit版OracleClientでDBにアクセスする方法はないでしょうか?
よろしくお願い致します
解決後追記:Oracle Instant Client(64bit)にはOLEDBのプロバイダがないようなので、12c のフルクライアント(64bit)をインストールしました。(ODBCのプロバイダはあるようです)
oracle_homeを分けることでExcel(64bit)のVBAでDBにアクセスすることができるようになりました。
発生している問題・エラーメッセージ
Openしたところでエラー
プロバイダーが見つかりません。正しくインストールされていない可能性があります。
該当のソースコード
VBA
1 adoOra.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=" & DB_DATASOURCE & ";User ID=" & DB_USERNAME & ";Password=" & DB_PASSWORD 2 adoOra.Open
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/05 09:47