Conectividad Oracle

Me sale este error al ejecutar un aplicativo en Delphi ubicado en un servidor y haciendo conexión con Orcl8i. ¿Qué puede ser?
Version information:
TNS for 32-bit Windows: Version 8.0.6.0.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 8.0.6.0.0 - Production
Time: 09-OCT-02 13:31:29
Tracing not turned on.
Tns error struct:
Nr err code: 12203
TNS-12203: TNS:unable to connect to destination
ns main err code: 12560
TNS-12560: TNS:protocol adapter error
ns secondary err code: 0
nt main err code: 530
TNS-00530: Protocol adapter error
Nt secondary err code: 0
Nt OS err code: 0

1 respuesta

Respuesta
1
Con casi toda seguridad lo que esta pasando es que no estás accediendo a la base de datos que en realidad quieres acceder, es decir, tu TNS-NAMES apunta a un lugar que no es el servidor.
Lo primero que tienes que hacer es ir a la unidad donde tengas el cliente de oracle, te sitúas en /orant/network/admin y allí editas un fichero que se llama tnsnames. Ora. Una vez abierto tienes que encontrar una entrada como la que te muestro a continuación:
----------------------------------------
DEMO.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = SERVIDOR)
(Port = 1525)
)
)
(CONNECT_DATA = (SID = DEMO)
)
)
----------------------------------------
Si no existiese una parecida a esta(puede que sea algo diferente, pero al fin y al cabo igual..) tengas que copiarte esta.
donde yo pongo DEMO.WORLD, tu debes poner el nombre de la instancia de oracle a la que quieres acceder(en realidad puede poner lo que quieras, pero es mejor así para no liarte. este es el identifiecativo de red) . y donde ponde HOST pones el nombre o IP del servidor, asi mismo donde pone CONNECT_DATA = (SID- pues pones el sid de la B.D. Ahora bién, si tuviese bien el TNSnames, quiere decir que en tu programa no estás reseñando bién el tns de la conexion de red. Para conectarse por net a un servidor desde sqlplus lo que se hace es nombre_usuario/password@SID , de esta forma "@" se conecta por red al servidor.
En caso de que aún así sigas sin llegar al servidor, ejecuta el siguiente comando en ms-dos a ver que te dice:
Ping "nombre servidor"
si conecta pues quiere decir que por lo menos llegamos al servidor.
TNSPING "SID"
si devuelve bien la llamada quiere decir que en el programa en principio debe haber algo mal. En caso de que haya un ODBC por medio puede hacer que el seguimiento del error sea un poco más costoso, pero se puede ver en caso que me digas que va mal.
Pedrito, gracias por la ayuda, pero en realidad estaba observando que el problema que tengo, es incompatibilidad o mala configuración, ya que el equipo maneja reportes de Oracle 6i, y se instalo 8i para una aplicación de Delphi. Por lo tanto ahora no se conecta a ninguno de los dos aplicativos. ¿Qué puedo hacer?, ¿Puedo manejar una sola version para las dos cosas?. Gracias
Por lo que vi en el error que me enviaster es que no puedes conectar a las base de datos, porque el conector de red está desconfigurado. De todos modos te comento que oracle6i es el developer suite y que oracle 8i es en tu caso el cliente que conecta a la base de datos servidor. Si quieres conectar a la base de datos, el tema debe estar en la configuración de los conectores de red como arribe te explico, porque a nivel de aplicativo no debería haber problema.
Con quien ttienes que conectar es con el cliente a la base de datos, el oracle 6i es otra cosa.
Creo que si el tema no es así, deberías explicarme un poco más lo que quieres, para poder hacerme la idea de como solucionar el problema.
Pedrito, lo que sucede, es que en el equipo inicialmente se estaba manejando unos reportes generados por el Runtime de Oracle6i, después tuve que instalar la aplicación que te comento de Delphi y para esto necesitaba instalar 8i, hice la conexión a la instancia de Oracle e inmediatamente me trato de conectar al aplicativo genera error de Dr. Watson, y el aplicativo funciona bien en otros equipos que no tienen la version 6i instalada.
Pues creo que el tema está bastante claro...
¿Te hace falta para algo el 6i?. En caso de no hacerte falta, desinstálalo corriendo, porque con toda seguridad, está causando una incompatibilidad en alguna rama del registro que haya compartido con la version de Oracle 8i. Creo que bastará con que con el instalador de Oracle, elimines la 6i. En su defecto puedes eliminarlo también desde panel de control/agregar_o_quitar_programas, pero veo más óptimo hacerlo desde el mismo aplicativo.
Cuando ya hayas conseguido que desinstalarlo, el tema del tnsnames, te servirá para configurar la entrada por red .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas