lunes, 4 de octubre de 2010

Conectando Oracle con SharePoint

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.dll
Oracle 9i o superiorNecesita agregar en archivos .ORA palabra .WORLD
System.Data.OracleClientOracle 9i o superiorNecesita agregar en archivos .ORA palabra .WORLD
Oledb for OracleOracle 7.3.3.4.0 o superiorNecesita eliminar en archivos .ORA la palabra .WORLD
Odbc for OracleOracle 8i o superiorNecesita 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:

RegistroOracle

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:

ComponentesCliente

ComponentesCliente1

ComponentesCliente2

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:

Marycielo de Benegas dijo...

¿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.