Pueda que este sea un requerimiento interno o de un cliente, la dificultad radica en la configuración de Oracle y que es una plataforma no nativa de Microsoft, es decir no espere que funcione tan fácil como lo hace desde MS-SQL Server.
3 aspectos que debe de tomar en cuenta:
1) Necesita para todas las versión tener instala una versión cliente (entre mas reciente mejor) donde se va ejecutada la consulta, que en nuestro caso es el servidor de SharePoint.
2) Necesita lidiar con los archivos de configuración de Oracle (Extensión .ORA), si utiliza cualquier librería distinta de ODBC.
3) Elegir una librería para conectarse a Oracle y esta esta relacionada directamente con la versión cliente instalada y con la configuración de los archivos de Oracle.
Las librerías disponibles y sus implicaciones son las siguientes:
Librería
Versión Cliente Requerida
Comentarios
ODP.NET
Oracle.DataAcces.dllOracle 9i o superior Necesita agregar en archivos .ORA palabra .WORLD System.Data.OracleClient Oracle 9i o superior Necesita agregar en archivos .ORA palabra .WORLD Oledb for Oracle Oracle 7.3.3.4.0 o superior Necesita eliminar en archivos .ORA la palabra .WORLD Odbc for Oracle Oracle 8i o superior Necesita eliminar en archivos .ORA la palabra .WORLD
Aunque es obvio es mejor mencionarlo, verifique los permisos asignados a la cuenta a la cual le dieron acceso, es común que olviden otorgárselos.
Verificar el registro de Windows en la instalación de Oracle que tenga el valor en la llave American_America, ya que otra versión da problemas:
Si necesita instalar el cliente de Oracle para OPD.Net le recomiendo el cliente 10g versión 10.2.0.1.0 y los componentes necesarios son:
Si no quiere lidiar con el archivo de configuración y solo lo va utilizar para leer información de la base de datos que no es muy extensa o que no tiene columnas de manejo especial, mi recomendación es que dese con el método mas simple pero efectivo utilice ODBC. Abajo una cadena de conexión para ODBC:
Driver={Microsoft ODBC for Oracle}; CONNECTSTRING= (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[ip address])(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=[servicename])); uid=[user id]; pwd=[password];
Referencias:
Oracle Data Provider .NET for Developers
Limitations of Microsoft Oracle ODBC Driver and OLEDB Provider
Microsoft OracleClient Deprecated La recomendación de Microsoft es utilizar las librerías que tiene Oracle o terceros para desarrollar con .Net, por lo que le recomiendo busque estas librerías y no las de Microsoft que estuvieron disponibles en su momento.
Oracle4Fun!,
Manolo Herrera
1 comentario:
¿tienes otro ejemplo de connection string? con ese no me deja conectar y ya he probado de todo.
Muchas gracias! me he orientado demasiado con esta entrada.
Publicar un comentario