Dado que esta cuestión fue publicada, el cliente de Oracle Managed ya está disponible (proporcionado por Oracle) . Lo he estado usando sin problemas. No requiere buscar DLL o una configuración especial. Simplemente agregue el paquete, modifique el archivo de configuración y ya está configurado. NuGet Link y an article por Oracle al respecto ...
Dado que este cliente está escrito enteramente en código administrado .NET, es independiente de la arquitectura y no hay necesidad de DLL externos, instalar un cliente Oracle, ni nada de eso.
Puede instalarlo en VS utilizando Package Manager.
Install-Package Oracle.ManagedDataAccess
que he tomado a poner esto en el archivo machine.config (aunque también va a trabajar en web.config o app.config). He encontrado que esto ayuda a evitar conflictos con otros conductores que puedan estar instalados:
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.DataAccess.Client" />
<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.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>
</system.data>
<configuration>
Luego de la cadena de conexión:
<add name="MyConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IPORNAMEOFHOST)(PORT=PORTNUM)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORACLESID)));User Id=ORACLEUSER;Password=ORACLEPASSWORD;" providerName="Oracle.ManagedDataAccess.Client"/>
- IPORNAMEOFHOST = Esta es la dirección IP o el nombre DNS tu servidor
- PORTNUM = Este es el número de puerto que Oracle está escuchando. Normalmente 1521.
- ORACLESID = El SID de la base de datos a la que intenta conectarse.
- ORACLEUSER = El nombre de usuario a usar para la conexión.
- ORACLEPASSWORD = La contraseña que se usará para la conexión.
corregirme si iam wrong ... tengo que instalar el cliente instantáneo de Oracle en todas las máquinas que ejecutarán mi aplicación ?? y ¿qué quieres decir con el suplemento de ODAC XCopy? ¿te refieres al dll que mencioné antes? Muchas gracias por su ayuda – 3oon
Correcto. El cliente instantáneo debería estar instalado en cada máquina cliente. Pero el cliente instantáneo está diseñado para ser incluido con las aplicaciones y está compuesto por solo un puñado de DLL. El complemento ODAC Xcopy se vincula desde la página Instant Client. No he comparado el conjunto de archivos DLL que componen el conjunto de archivos DLL que enumeró. –