0

Oracleデータベース接続をOracleExpressバージョン10にプログラムしました

それは私の開発用PC(Windows Vista)で動作します。

このプログラムをWindowsXPPCで実行すると、サーバーに接続するときにOracleDB接続が例外をスローします

「エラー:「Oracle.DataAccess.Client.OracleConnection」の型初期化子が例外をスローしました」

接続のコードは次のとおりです。

try{ 
 string oradb = "Data Source="
               +"(DESCRIPTION ="
               +" (ADDRESS = (PROTOCOL = TCP)(HOST = " + IP + ")(PORT = 1521))"
               +" (CONNECT_DATA ="
               +" (SERVER = DEDICATED)"
               +" (SERVICE_NAME = XE)"
               +" )"
               + " );User id=XXXX;Password=XXXX;";

            OracleConnection conn = new OracleConnection(oradb);

             .....
             .....


}
catch (Exception ex)
{
        MessageBox.Show("Error:" + ex.Message);
}
4

1 に答える 1

0

XP ボックスのクライアント ソフトウェアのバージョンは?

コンピューターの構成を確認すると、Oracle 10g インストールで ODP.Net 1.x しか表示されません (私にとっては C:\oracle\product\10.2.0\db_home\ODP.NET\bin\1.x でした)。 .net 2.0 - 4.0 では動作しない Net 1.0 インストール。これがあなたの悩みの元かもしれません。

Oracle 10.2 ODP.Net ドライバーも非常に不安定でした (.Net 2.0 バージョンでさえ)。.Net 1.0 または 1.1 を使用している場合は、ODPReg.exe (同じディレクトリ) を使用して Oracle.DataAccess.dll を再登録する必要がある場合があります。2.0 を使用している場合は、.net 2.0 (最大 3.5) Oracle をインストールする必要がある場合があります。クライアントまたは .Net 4.0 (または 4.5) Oracle クライアント。

11.2クライアントをインストールし、Oracle.DataAccess.dllが正しく登録されていることを確認することをお勧めします(2つのインストールがあります.1つは.Net 2.0-3.5用、もう1つは.Net 4.0用で、私のボックスC:\ oracle\product \ 11.2.0\client_ODTwithODAC112030\odp.net\bin\2.x および C:\oracle\product\11.2.0\client_ODTwithODAC112030\odp.net\bin\4 )。OraProvCfg.exe を使用して登録を強制する必要がある場合があります

Xcopy ドライバーのインストールを使用することもできます。ソフトウェアと一緒にドライバーを配布する場合は、ドキュメンテーションを注意深く読んでください。奇妙でエラーが発生しやすいです (例: ODAC112030Xcopy_x64.zip )。

ODAC はこちら: http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

于 2012-09-13T06:29:17.497 に答える