Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Cómo hacer funcionar dos versiones de Provider de Oracle en ASP

Estas en el tema de Cómo hacer funcionar dos versiones de Provider de Oracle en ASP en el foro de Oracle en Foros del Web. Buenos Días a todos los Foristas, quisiera saber si alguien de ustedes sabe cómo puedo especificarle a mi página ASP qué provider debe utilizar para ...
  #1 (permalink)  
Antiguo 01/10/2008, 08:13
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Cómo hacer funcionar dos versiones de Provider de Oracle en ASP

Buenos Días a todos los Foristas, quisiera saber si alguien de ustedes sabe cómo puedo especificarle a mi página ASP qué provider debe utilizar para conectarse a una BD Oragle 10g. Me explico:

Tengo varias aplicaciones ASP 3 corriendo actualmente bajo el provider de Oracle 10.1 sin embargo durante el desarrollo de una nueva aplicación detectamos un error con este provider, pero que se corrige al instalar la versión 10.2 Release del provider. Sin embargo, mientras hacemos la migración de todas las aplicaciones queremos tener intaladas las dos versiones en el servidor. El problema está en que al parecer ASP tiene conflictos precisamente al no saber cual provider utilizar.

En mi caso la conexión a la base de datos la hago así:

<%
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open "Provider=OraOleDB.Oracle; Data Source=BDPru; User ID=Pru; Password=Pru;"
%>

Dato que tengo dos Provider instalados, entonces tengo también dos archivos TNSNAMES.ora con los servicios de Oracle declarados:

C:/oracle/product/10.1.0/Client_1/Network/ADMIN/tnsnames.ora
-->
BDPru =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = BDPru)
)
)

C:/oracle/product/10.2.0/Client_1/Network/ADMIN/tnsnames.ora

-->
BDPru=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = BDPru)
)
)

Sin embargo al tratar de hacer la conexión a la base de datos siempre me regresa esta excepción:

OraOLEDB (0x80004005)
ORA-12154: TNS:could not resolve the connect identifier specified

¿Alguien de ustedes me puede decir qué está sucediendo y cómo puedo solucionarlo?
¿Cómo puedo decirle a mi página ASP cuál de los dos providers debe utilizar?
De antemano muchas gracias por el apoyo
Leo
  #2 (permalink)  
Antiguo 01/10/2008, 08:26
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: Cómo hacer funcionar dos versiones de Provider de Oracle en ASP

Hola,

En primer lugar, para resolver el ORA-12154 revisa el fichero sqlnet.ora que se encuentra en el mismo directorio que el tnsnames.ora, probablemente exista una entrada que sea DEFAULT_DOMAIN y la tengas que comentar.

Por otro lado, Oracle Provider for OLEDB es un conjunto de interfaces COM, por lo tanto, solo uno puede estar registrado al mismo tiempo, para cambiar entre las diferentes versiones puedes utilizar el comando de Windows regsvr32.

Código:
regsvr32 /u path_to_10.1\bin\OraOLEDB10.dll
regsvr32 path_to_10.2\bin\OraOLEDB10.dll
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:21.