こんにちは。
UDLを使ってORACLEに接続するプログラムをVB6で作成し
XPでは問題なく接続出来たのですが、
WIN7(x64)では以下のオープン時に "プロバイダが見つかりません。"と
エラーが表示されます。
DIM Con As New ADODB.Connection
Con.ConnectionString = "File Name=C:\Oracle.UDL;"
Con.Open
ただ、UDLのデータリンクプロパティの
接続テストではエラーにならず接続出来ています。
ちなみにXPにはOracle9i、WIN7にはOracle11gの
クラインアントをインストールしています。
何が原因(WIN7? x64? Oracle?) で
エラーになっているのか分からず困っています…
どなたか教えて頂けないでしょうか。
宜しくお願い致します!
> WIN7(x64)では以下のオープン時に "プロバイダが見つかりません。"と
> エラーが表示されます。
32bit 用のライブラリがインストールされていないとか。
> Con.ConnectionString = "File Name=C:\Oracle.UDL;"
C: の直下に配置するのは止めた方が良いかと。特に UAC が有効な場合には。
> ただ、UDLのデータリンクプロパティの
> 接続テストではエラーにならず接続出来ています。
そのテストは、どのように行った物でしょうか?
PromptEdit メソッド経由での評価でしょうか?
http://www.gizcollabo.jp/vbtomo/boards/vbdatabase_spread_554.html
もしもデスクトップに *.udl ファイルを置いて試した物だとすれば、
それは 64bit モードでの動作になりますので、32bit モードとは
異なる結果になる可能性があります。
ご回答頂いていたのに返信が遅くなり、
申し訳ありませんでした。
>32bit 用のライブラリがインストールされていないとか。
32bit用のライブラリがインストールされているかどうかを
確認するにはどの様にしたらいいのでしょうか。
>C: の直下に配置するのは止めた方が良いかと。
UDLをC:の直下以外に移動しましたが、同じエラーになりました。
>そのテストは、どのように行った物でしょうか?
エクスプローラでUDLをダブルクリックし、
表示されたデータリンクプロパティ(Microsoftデータリンク??)の
接続テストボタンを押下して行いました。
最近プログラムの開発を始めたばかりで知識がなく
ご回答頂いた内容に関して
おかしな返答をしているかも知れません…すみません。
宜しくお願いします!
> 32bit用のライブラリがインストールされているかどうかを
> 確認するにはどの様にしたらいいのでしょうか。
インストールした時の Oracle Client のディスク表面に、
ターゲットプラットフォームが書かれていたと思います。
たしか、Windows (32-bit) とか Windows x64 とか。
既にインストール済みのコンポーネントについては、
Oracle Universal Installer から確認してみてください。
# 実際にどのように表示されるかは、手元に X64 な 11g Client 端末が
# 無いので確認できませんが。。。
> エクスプローラでUDLをダブルクリックし、
その方法では、64bitの検証しかできないと思います。
http://blogs.msdn.com/b/chaitanya_medikonduri/archive/2008/04/09/how-to-run-32-bit-udl-file-on-a-64-bit-operating-system.aspx