sql >> Base de Datos >  >> RDS >> Oracle

System.Data.OracleClient requiere la versión 8.1.7 o superior del software de cliente de Oracle

Parece que está utilizando el cliente Oracle de Microsoft. Le sugiero que use el controlador ODP.net ya que es mucho más confiable. (¿Creo que el cliente de Microsoft también está en desuso?)

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

Instale el controlador ODP.net, agregue una referencia a Oracle.DataAccess en su proyecto, ¡y listo! Código de ejemplo (de mi publicación anterior):

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.");
            }
        }
    }
}

EDITAR:También encontré el error "requiere la versión 8.1.7 o superior del software del cliente de Oracle" antes. Fui causado por la instalación de Oracle Client en mi computadora. Puede intentar desinstalar Oracle Client (irónicamente) de su computadora si está configurado para usar el controlador de Microsoft.