2011-10-20 515 views
1

私のPCにOracleクライアントバージョン10gをインストールしました(レジストリORACLE_BASE-D:¥oracle¥product¥10.2.0)。 私は以下の参考文献を追加しました。 System.Data.OracleClient。System.Data.OracleClientにはOracleクライアントソフトウェアのバージョン8.1.7以上が必要です

上記のエラーが発生しています。 以下はコードスニペットです。

​​3210

私は、Concernの分野とIamが欠落している箇所を教えてください.OracleとAsp.Netの組み合わせには新しいです。

+0

通常、マシンからデータベースに接続できますか?それは、Oracleホームにつながる環境変数 'Path'で表されますか? – V4Vendetta

+0

Toad経由でデータベースに接続できます。また、Oracleのパスは環境変数に存在します。 –

+0

あなたは、Oracleのインストールのフォルダとサブフォルダに 'ASPNET'を許可してみることができますか?それは問題だと思います – V4Vendetta

答えて

2

Microsoft Oracleクライアントを使用しているようです。 ODP.netドライバを使用することをお勧めします。 (私はマイクロソフトのクライアントも廃止されていると信じて?)

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

、ODP.netドライバをインストールし、プロジェクトでOracle.DataAccessへの参照を追加し、あなたが行ってもいいです! (私のprevious postから)コード例:

using System; 
using System.Data; 
using Oracle.DataAccess.Client; 

static class Program 
{ 
    [STAThread] 
    static void Main() 
    { 
     TestOracle(); 
    } 

    private static void TestOracle() 
    { 
     string connString = 
      "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" + 
      "(HOST=servername)(PORT=‌​1521)))" + 
      "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));"+ 
      "User Id=username;Password=********;"; 
     using (OracleConnection conn = new OracleConnection(connString)) 
     { 
      string sqlSelect = "SELECT * FROM TEST_TABLE"; 
      using (OracleDataAdapter da = new OracleDataAdapter(sqlSelect, conn)) 
      { 
       var table = new DataTable(); 
       da.Fill(table); 

       if (table.Rows.Count > 1) 
        Console.WriteLine("Successfully read oracle."); 
      } 
     } 
    } 
} 

編集:私も前にエラー「Oracleクライアントソフトウェアバージョン8.1.7以降が必要です」が発生しました。私は自分のコンピュータにOracle Clientをインストールしていました。 Microsoftドライバを使用して設定されている場合は、コンピュータからOracle Client(皮肉)をアンインストールしてみてください。 「私は自分のPC上でのOracleクライアントのバージョン10gをインストールしている」

+0

私は同様の問題を抱えていますまた、@Mattの提案も過去に私のために働いていました。 – gcoleman0828

1

あなたは、Microsoft Oracleクライアントとシステム内の型を使用している

「System.Data.OracleClient.dllへは、Oracleクライアントソフトウェアバージョン8.1.7以降が必要です」。 Data.OracleClientは、.NET Framework 4.0で減価償却されると、コンピュータにあなたはまだ、古いOracleクライアント(8以下)を持っている場合は、.NET http://msdn.microsoft.com/en-us/library/77d8yct7.aspx

チェックの将来のバージョンから を削除されます。おそらくPATH変数は古いOracleクライアントのbinディレクトリを指しています。 Windowsのコマンドラインから 'tnsping'を実行し、バージョン10が表示されない場合は、古いものにデフォルト設定されています。

新しいOracleクライアントをインストールする前に、まず既存のすべてのoracleクライアントをアンインストールすることをお薦めします。 次に、Oracle Databaseサーバーおよび組織でサポートされている最も新しいバージョンのOracleクライアントをインストールします。あなたがOracle.DataAccessへの参照を追加するときに、.NET Frameworkの4.0以降を使用している場合は

は、Oracle Clientの11グラムR2を試してみて、.NET http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

のためのOracle Data Providerをインストールすることをお勧めしますVisual Studioプロジェクト このdllが4.xxxであることを確認します。そうでない場合は、クライアントの場所を参照して4.xxx dllを選択します。

1

クライアントコンピュータにOracleクライアントソフトウェアをインストールしてOracleデータベースデータベース・ユーザーは、OracleデータベースのOracle接続層であるSQL * Netです。 System.Data.OracleClient dllはこの機能を提供していません。

あなたのコードをコンパイルするときは、また、DLLへの参照を含める必要がありますOracle client software

をダウンロードしてください。あなたがC#プログラムをコンパイルしている場合たとえば、あなたのコマンドラインが含まれている必要があります

をなど: - csc /r:System.Data.OracleClient.dll

MSDN

2

基本的にこの場合は、System.Data.OracleClient.dllへはへのアクセスを必要とします.Netの一部ではないoracle dllのいくつか。ソリューション:

  • Oracleクライアントをインストールし、窓のPath環境varaible OR
  • コピー oraociicus10.dll(基本-Liteバージョン)またはaociei10.dll(ベーシックバージョン)にOracleクライアントビンの場所を追加、 oci.dll、orannzsbb10.dllおよびoraocci10.dllからoracleクライアントのインストール可能なフォルダからアプリケーションのbinフォルダへアプリケーションが必要なdllを見つけることができるようにする
関連する問題