Cliente Oracle no se conecta a Servidor Oracle

Alf
26 de Marzo del 2010
Hola que hay.

Estoy aprendiendo de una forma autodidacta, y tengo problemas.

He realizado una aplicación en un ordenador (ordenador 1) que tiene windows xp, en este ordenador instalé el Servidor de Oracle 9i, y tambien

oracle Form, y oracle Reports. Realizando una aplicación sin problemas.

Ahora me gustaría conectar otro ordenador (ordenador 2) con windows xp, a este ordenador (ordenador 1) que tiene el servidor de oracle y la aplicación.

Asi que he intentado hacer un "cliente" a este segundo ordenador, y convertir a "host" el primer ordenador.

Y No lo he conseguido del todo, os cuento:

Mando desde el supuesto servidor ( ya esplicaré después lo de supuesto servidor) un pin al supuesto cliente. Y este me responde correctamente con los 4 paquetes de prueba que manda.

También he mandado un pin desde el supuesto cliente al supuesto servidor, y también me responde correctamente con los 4 paquetes de prueba que manda.

Esto lo he cosegido ejecutando el asistente para crear una conexion de red nueva, y creando un red doméstica. Para hacer esto en el servidor he ejecutado este asistente diciendo que era el que se conectaba a internet, y en el servidor he ejecutado este asistente diciendo que este ordenador se conectaba a internet a través de otro.

El caso es que voy a mis sitios de red del supuesto cliente, y me aparece las carpetas que tengo compartidas en el servidor.

Hasta aqui parece que todo esta correcto.

Bueno el problema lo tengo ahora con ORACLE.

He instalado el servidor de ORACLE sin problemas siguiendo este manual:

http://www.ajpdsoft.com/modules.php?nam ... le&sid=122

Desde el supuesto servidor de xp, puedo acceder ORACLE sin problemas.

He instalado el cliente ORACLE siguiendo este manual:

http://www.ajpdsoft.com/modules.php?nam ... le&sid=135

Se instala correctamente, pero cuando se intenta conectar a la BD ORACLE que esta en el supuesto servidor de windows xp, NO FUNCIONA, el supuesto cliente con windows xp

tira un rato esperando respuesta del servidor, y al final aborta por tiempo (TIMEOUT).


Bueno ahora me gustaría explicaros porque digo lo de supuesto servidor xp, y lo de supuesto cliente xp, lo digo por esto.

¿Puede ser que el supuesto servidor xp, no se esté comportando como un HOST?.

He visto que a la hora de usar el asistente para crear una conexión nueva, hay una opción de creación de red "avanzada". En dicha opción te pregunta directamente si quieres

que ese ordenador se comporte como HOST o como CLIENTE, pero hace falta que los 2 ordenadores esten conectados mediante los puertos LPT1 o COM

¿Es esta última opción la que tengo que usar?

¿Puede un cliente oracle bajo windows xp, conectarse a un servidor oracle, que también esta bajo windows xp?

Bueno, espero no estar mareando a la gente.

Muchas gracias por vuestra ayuda.

Un saludo

AlexGamm
26 de Marzo del 2010
Hola.
Respondiendo tus preguntas:
Si puedes instalar ORacle Servidor en WinXP.
Si pueden funcionar CLiente y servidor con WinXP y con ORacle.
No es que tengas algun problema de red; más bien me suena que no has configurado el LISTENER ni el TNSNAMES.ora por lo que te aconsejo que al momento de conectarte hacia la BD valides que en el CLiente tenga el mismo nombre que le diste al instalar la BD.
Saludos.

Alf
26 de Marzo del 2010
Gracias Alex.

No entendía lo que pasaba, hasta que leí por ahí que podía ser el firewall.

Como estos dos ordenadores no los tengo conectados a Internet, desactive el Firewall de Windos, y ....

Sorpresa, el cliente de oracle se me ha conectado al servidor oracle.

Me puedo conectar desde SQL PLUS, y desde Oracle FORM, y Oracle REPORTS. Sin problemas con estos 3.

El caso es que ahora es la aplicación que tengo hecha en Oracle Forms, es la que me da el error ORA-12454 ( No se ha podido resolver el nombre del servicio ).

El tnsnames.ora del Cliente Oracle, de Oracle Forms, y de Oracle reports (que son los que me funcionan), es el mismo paa los 3, y es el siguiente:

MURUABD3 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVIDOR)(PORT = 1521))
)
(CONNECT_DATA =
(SID = MURUABD3)
(SERVER = DEDICATED)
)
)

Y este el el .BAT (archivo por lotes de MS-DOS) que ejecuto en el Cliente, para ejecutar la aplicación que también está instalada en el Cliente, y que tira contra la BD de Oracle que está instalada en el Servidor:

============================================
@echo off

SET NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1
SET FORMS60_PATH=Z:MuruamendiarazFormsFuentes;Z:MuruamendiarazFormsEjecutables;Z:MuruamendiarazFormsIconos;
SET UI_ICON=Z:MuruamendiarazForms;Z:MuruamendiarazFormsiconos;
SET REPORTS60_PATH=Z:MuruamendiarazReports;

ifrun60.EXE userid=alfredo/[email protected] module=menu.fmx debug_messages=N
EXIT

============================================

Bueno, espero haberme explicado bien.

Gracias por la ayuda recibida, especialmente a Alex, porque poco a poco lo estoy consiguiendo.

Un saludo.