ODP.NET Oracle.ManagedDataAccess provoca el final del archivo de sesión de red ORA-12537

Visión de conjunto

Quiero reemplazar Oracle.DataAccess con Orcale.GestionadoDataAccess, pero abrir una conexión con este último arroja unORA-12537 final de sesión de red de archivo excepción.

Mensaje de excepción / seguimiento de pila

{OracleInternal.Network.NetworkException (0x000030F9):ORA-12537: Netzwerksession: Dateiende en OracleInternal.Network.ReaderStream.Read (OraBuf OB) en OracleInternal.TTC.OraBufReader.GetDataFromNetwork () en OracleInternal.TTC.OraBufReader.Read (Boolean bIgnoreData) en. en OracleInternal.TTC.TTCProtocolNegotiation.ReadResponse ()}

Estoy intentando conectarme a una base de datos Oracle 11g y no tengo un cliente instalado en mi máquina local.

Aplicación de prueba de trabajo (no administrada)

Usando Oracle.DataAccessfunciona bien.

using System;
using Oracle.DataAccess.Client;

namespace App.Odp.Unmanaged
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            //dummy connection string. using SID 
            string connectionString = "User Id=***;password=***;Data Source=1.2.3.4:1521/sid01;";

            try
            {
                using (var conn = new OracleConnection(connectionString))
                {
                    conn.Open();
                    using (OracleCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "select * from all_users";

                        using (OracleDataReader reader =     cmd.ExecuteReader())
                        {                            
                            Console.WriteLine("VisibleFieldCount: {0}", reader.VisibleFieldCount);
                            Console.WriteLine("HiddenFieldCount: {0}", reader.HiddenFieldCount);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error:{0}", ex.Message);
            }

            Console.ReadLine();
        }
    }
}
Referencias y dependenciasOracle.DataAccess (2.111.7.0)oci.dll (11.1.0.1)orannzsbb11.dll (11.1.0.6)oraociei11.dll (Cliente instantáneo de Oracle Call Interface)OraOps11w.dll (2.111.7.0)Configuración del proyecto

Objetivo de plataformax86
Marco objetivo 4.5

Aplicación de prueba fallida (administrada)

Usando el paquete nugetOracle ODP.NET oficial, controlador administrado 12.1.21

El código es idéntico al anterior. Solo cambio:

using System;
using Oracle.ManagedDataAccess.Client;
//... rest the same as above
Referencias y dependencias

Solamente:

Oracle.ManagedDataAccess (4.121.2.0)Configuración del proyecto

Objetivo de plataformaCualquier CPU
Marco objetivo 4.5

App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <publisherPolicy apply="no" />
        <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
        <bindingRedirect oldVersion="4.121.0.0 - 4.65535.65535.65535" newVersion="4.121.2.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <oracle.manageddataaccess.client>
    <version number="*">
      <dataSources>
        <!--<dataSource alias="MyDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.2.3.4)(PORT=1521))(CONNECT_DATA=(SID=sid01)))" />-->
      </dataSources>
      <settings>
        <!--<setting name="SQLNET.AUTHENTICATION_SERVICES" value="NTS"/>-->
      </settings>
    </version>
  </oracle.manageddataaccess.client>
</configuration>

Intenté diferentes configuraciones (NTS, ninguna, todas) y cambié la cadena de conexión aId. De usuario = XXX; contraseña = XXX; Fuente de datos = MyDataSource;, pero el error permanece igual.

Preguntas¿Qué podría estar causando elORA-12537 final de sesión de red de archivo ¿excepción?¿Falta una referencia / dependencia?¿Hay que configurar algo en el servidor DB?ACTUALIZAR

En el servidor estamos obteniendo unORA-12679: Servicios nativos deshabilitados por otro proceso pero requeridos error en el alert.log.

Parece tener algo que ver con el cifrado. Comentando las siguientes líneas en los servidores sqlnet.ora resuelve el problema.

#SQLNET.AUTHENTICATION_SERVICES=(NTS)
#SQLNET.ENCRYPTION_TYPES_SERVER = (rc4_128, rc4_256)
#SQLNET.ENCRYPTION_SERVER=REQUIRED
#ENCRYPTION_WALLET_LOCATION=
#          (SOURCE=(METHOD=FILE)(METHOD_DATA=
#                  (DIRECTORY=...\%ORACLE_SID%\wallet)))
Nueva pregunta

¿Cómo configuramos ManagedDataAccess para que funcione con el cifrado?

Actualización 2

Parece funcionar ahora con ODP Managed Driver 12c:
https://www.nuget.org/packages/Oracle.ManagedDataAccess/

Respuestas a la pregunta(5)

Su respuesta a la pregunta