Oracle
 sql >> Datenbank >  >> RDS >> Oracle

System.Data.OracleClient erfordert die Oracle-Clientsoftwareversion 8.1.7 oder höher

Es sieht so aus, als ob Sie den Microsoft Oracle-Client verwenden. Ich schlage vor, dass Sie den ODP.net-Treiber verwenden, da er viel zuverlässiger ist. (Ich glaube, dass der Microsoft-Client auch veraltet ist?)

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

Installieren Sie den ODP.net-Treiber, fügen Sie Ihrem Projekt einen Verweis auf Oracle.DataAccess hinzu, und Sie können loslegen! Beispielcode (aus meinem vorherigen 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.");
            }
        }
    }
}

BEARBEITEN:Ich bin auch zuvor auf den Fehler „Erfordert Oracle-Client-Softwareversion 8.1.7 oder höher“ gestoßen. Ich wurde durch die Installation des Oracle-Clients auf meinem Computer verursacht. Sie können versuchen, den Oracle-Client (ironischerweise) von Ihrem Computer zu deinstallieren, wenn Sie fest entschlossen sind, den Microsoft-Treiber zu verwenden.