El problema esta cuando lo pasamos a un servidor de producción, no siempre encontraremos la versión esperada, es muy posible que la versión instalada en el servidor sea utilizada por varias aplicaciones, y se te sea difícil instalar la versión que tu quieras elegir.
Para conseguir una aplicación con el driver portable, necesitas los siguientes DLLs(Todos están en el directorio donde instalaste ODP for .NET:
- msvcr71.dll
- oci.dll
- ociw32.dll
- Oracle.DataAccess.dll
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
- OraOps11w.dll
Te recomiendo que en tu solución crees una carpeta y ahí copies todos los DLLs necesarios, después solo tienes que referirlos en tu proyecto y cambias las propiedad Copy Local de todos los DLL necesarios a True.
No podrás depender del tsnames.ora así que utiliza este tipo de connection string:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
Con esto no necesitaras instalar el cliente de oracle, para la instalación de tu aplicación no necesitaras investigar si tu servidor soporta tu version de ODP .NET, y podrás tener TU el control de cual versión de ODP quieres usar.
Te hago una consulta, estoy realizando lo que indicas pero al momento de agregar las dll me dice que no son válidas. ¿Alguna sugerencia?
ResponderEliminar