🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

6806閲覧

VBAからのOracle接続で致命的なエラー

nao-y

総合スコア26

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/01/14 02:14

前提・実現したいこと

Excel VBAからOracleに接続しようとすると「致命的なエラーです」というエラーが発生する。
エラーを解消してOracleに接続したい。

発生している問題・エラーメッセージ

「実行時エラー'-2147418113(8000ffff)':致命的なエラーです」

該当のソースコード

VBA

1Dim OraCon as Object 2 Dim constr As String 3 4 constr = "Provider=OraOLEDB.Oracle" _ 5 & ";User Id =" & xxxx _ 6 & ";Password=" & xxxx _ 7 & ";Data Source=(DESCRIPTION=(ADDRESS_LIST=" _ 8 & "(ADDRESS=(PROTOCOL=TCP)" _ 9 & "(HOST=" & xx.xx.xx.xx & ")" _ 10 & "(PORT=" & 1521 & ")))" _ 11 & "(CONNECT_DATA=(SID=" & xxx & ")" _ 12 & "(SERVER=DEDICATED)));" 13 14 15 Set OraCon = CreateObject("ADODB.Connection") 16 OraCon.ConnectionString = constr 17 OraCon.Open 18 19

試したこと

同じPCでVB.NETからの接続はできています。
SQL*PLUSからの接続も確認しています。

補足情報(FW/ツールのバージョンなど

Windows10 64bit
Excel2016 32bit
OracleClient(ODAC) 32bit
Oracle11g 64bit

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

sqlplus でOracle Database 接続できたウンヌンの前に、ソフトウェア要件を満たしているでしょうか?
ソフトウェア要件外は何があっても、

致命的なエラーです

でも自己責任です。

Oracle Database, Oracle Client for Windows ソフトウェア要件

投稿2021/01/14 02:58

編集2021/01/14 04:47
Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nao-y

2021/01/14 04:31

ご回答ありがとうございます。 Oracle11は古すぎてWindows10は要件に入っていませんでした。 あきらめます。
Orlofsky

2021/01/14 04:44

Oracle12.x Client for Windows がOracle Database 11.x に接続を許可していないか、オラクル・サポートに確認しては?要サポート契約
nao-y

2021/01/14 05:57

サポート契約をしていないのであきらめます。
guest

0

ベストアンサー

Oracle Clientはインストールされていますか?
また、インストールする際にはoficceのビット数(32or64)に合わせたものをインストールする必要があります。
VBAからOracleに接続する方法(Oracle Provider for OLE DB接続)

追記

Oracle DBとODACのバージョン互換性

まとめてみると、後方互換ではなく前方互換(!)に対応していました。

とりあえず、ODACが動いていればDBサーバーが更改されていてもつながるということが分かりました。

ODAC 19cだと接続できそうに見えますね。
ただ、あくまで自己責任でお願いします。

投稿2021/01/14 02:42

編集2021/01/14 05:55
sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nao-y

2021/01/14 04:29

ご回答ありがとうございます。 Oracle ClientはODACをインストールしてあります。 Officeが32bitですのでODACも32bitです。
sazi

2021/01/14 05:44

ODACのバージョンは何ですか?
nao-y

2021/01/14 05:56

11.2.0.4.0です。
nao-y

2021/01/15 00:30

調査ありがとうございます。 他のアプリとの兼ね合いもあるので慎重に検討します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問