VB.netを使用して、Oracleにアクセスする場合、ODPを使用することが多いと思われます。
複数のODPをインストールした環境において、特定のバージョンのODPを使用したいときの設定について記載します。
ODP.NET
(Oracle Data Provider for .NET Microsoft .NET環境からOracleデータベースへネイティブに接続可能なミドルウェア)
結論から書くと、以下の2点を対処すれば解決します。
①パスの設定を目的のバージョンのODPに修正して、
②VB.netで参照するライブラリの参照設定を①と同じにする。
具体的には、
②は文字通りなので、割愛。
①については、少々手作業が発生するので説明。
パスの現在の設定を以下の方法で確認します。
Pathを設定する
http://blog.cnu.jp/2009/11/06/windows-7-path/
【確認結果の例】
C:\app\username\product\11.2.0\client_1\bin;C:\app\username\product\11.1.0\client_1\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\W~(以下略)
上記の場合、以下の2つのバージョンのODPがインストールされていることになります。
「C:\app\username\product\11.2.0\client_1\bin;」
「C:\app\username\product\11.1.0\client_1\bin;」
そして、パスの設定は、前が優先なので、常に11.2.0を使用することになります。
(よくあるパターンとしては、VB.netでは11.1.0のライブラリを参照しているのに、実行時はエラーが出る!という事象)
もし、 11.1.0のODPを使用したいのであれば、
「C:\app\username\product\11.1.0\client_1\bin;」を前に持ってくるか、
「C:\app\username\product\11.2.0\client_1\bin;」を削除すれば解決です。
Windows7くらいになると、Pathの設定もわかりやすくGUI設定できるとよいのでしょうが、確かにそれは難しいのかもしれませんね。
0 件のコメント:
コメントを投稿