C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 99 を表示中)
■58737 / )  Re[1]: ODP.Net使用でファイルまたはアセンブリが読み込めない
□投稿者/ 魔界の仮面弁士 (2155回)-(2011/04/25(Mon) 10:54:42)
No58719 (OM さん) に返信
> 現在:Windows7 (64Bit)、Oracle11g(64Bit)、ODP.Net(64Bit)
> デバッグの構成マネージャーのプラットフォームは「.NET」、「Any CPU」になっております。
ODP.NET はおそらく AnyCPU 構成ではないと思いますので、プラットフォームは
X64 固定の方が良いような気がします。(32bit 用も作るなら、別途 x86 ビルドで)

で、私自身は一切検証していないのですが、Vistax64 + VS2005 + 64bit Oracle 11g な
同僚から聞いた話によると、VS2005 自体が 32bit モードで動く部分があるらしく、
32bit の OCI も一緒に入れておかないと動作しなかった…という情報を耳にしています。
ただし、2 年半前の情報です。(当時は ODP.net 11g が x64 未対応だったはず)

現在も同じ状況であるのかどうかは不明ですが、
以下、裏付けをとっていない伝聞情報ということで:

・x86 版 の InstantClient を US OTN からダウンロードして、
その zip を C:\Oracle\<username> の下にフォルダごと配置。

・上記を環境変数 PATH に通す。

・環境変数 NLS_LANG で文字コードを指定。
 (Oracle Client 11gのレジストリにある NLS_LANG と同じものを指定)

・tnsnames.ora を使う場合は、TNS_ADMIN を環境変数に追加。
 (x64 11g の Client が作成する network\admin をパスに指定することで、
 x64 のコンフィグツールで作った tnsnames を InstantClient とで共有できる)

・ついでに 32bit版のODBCドライバも InstantClient のフォルダーに投入しておくと、
 Access からも接続できる。

・なお、Oracle は丸括弧を含むパスにインストールすると動作しないので、
 32bit アプリの場合でも "Program Files(x86)" フォルダーには入れないように注意。
 http://support.microsoft.com/kb/555568/en-us
返信 編集キー/


管理者用

- Child Tree -