odp net conex Сбой ошибки c # visual studio 2017 oracle 11 - PullRequest
0 голосов
/ 20 февраля 2019

Я столкнулся с этой проблемой.Надеюсь, кто-нибудь может мне помочь.База данных имеет следующее:

SELECT * FROM V$VERSION

BANNER  
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production  
PL/SQL Release 11.2.0.4.0 - Production  
CORE 11.2.0.4.0 Production  
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production  
NLSRTL Version 11.2.0.4.0 - Production 

Для другой части у меня установлена ​​последняя версия Visual Studio Enterprise 2017 - версия 15.9.7

Когда я делаю этот простой код: Conex ok

Вот код изображения:

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


namespace ConexDapper
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime result = new DateTime();

            using (var conex = CreateConnection())
            {
                result = conex.Query<DateTime>("Select sysdate from dual", null, commandType: CommandType.Text).FirstOrDefault();
            }

            Console.WriteLine(result);
        }

        public static IDbConnection CreateConnection()
        {
            var provider = new OracleClientFactory();
            var conex = provider.CreateConnection();
            conex.ConnectionString = "Data Source=(DESCRIPTION =  (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 99.999.999.999)(PORT = 1525)) ) (CONNECT_DATA = (SERVICE_NAME = url.url.com) ));User Id=fail;password=fail;";

            return conex;
        }
    }
}

Кроме того, когда я пытаюсь таким образом.

Test conex-ok

Однако, когда я пытаюсьсвязаться с новым ODP.Сбой.

ODP-FAILS

Вот код изображения:

using System;
using Oracle.ManagedDataAccess.Client;


namespace ConexDapper
{
    class Program
    {
        static void Main(string[] args)
        {
            string conexString = "Data Source=(DESCRIPTION =  (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 99.999.999.999)(PORT = 1525)) ) (CONNECT_DATA = (SERVICE_NAME = URL.url.url) ));User Id=fails;password=fails;";
            var cn = new OracleConnection(conexString);

            cn.Open(); // FAILSSSSS
            Console.WriteLine("version --> " + cn.ServerVersion);
        }
    }
}

Кроме того, если я пытаюсь с помощью мастера Visual Studio, тот же результат.

Test conex-FAILS

Для предоставления дополнительной информации версии обеих DLL:

Согласно dotPeek

Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342  

Для другого из nuget:

<package id="Oracle.ManagedDataAccess" version="18.3.0" targetFramework="net47" />
...