PDA

Ver la Versión Completa : zeos + Oracle 10g


Ermek
23-08-2008, 19:54:59
buenas a todos,

He realizado un programa con componentes Zeos, utilizando Oracle 10g. Resulta que en modo local conecta perfectamente, sin embargo falla cuando intento hacer una conexión remota. Mi pregunta es la siguiente: ¿Hace falta instalar el cliente de oracle? gracias de antemano.

poliburro
23-08-2008, 20:02:12
amigo, Te recomiendo ADO para la conexión con oracle ya que la comunicación entre ADO y Oracle es nativa (Usando el OleDb de oracle).

Efectivamente, debes agregar un archivo de configuración llamado tsnames.ora


tnsnames.ora
Located on the clients, this file contains net service name (http://download-uk.oracle.com/docs/cd/A97630_01/network.920/a96580/glossary.htm#998114)s mapped to connect descriptor (http://download-uk.oracle.com/docs/cd/A97630_01/network.920/a96580/glossary.htm#431731)s. This file is used for the local naming (http://download-uk.oracle.com/docs/cd/A97630_01/network.920/a96580/glossary.htm#431945) method.



aca la liga con la info al respecto http://download-uk.oracle.com/docs/cd/A97630_01/network.920/a96580/config_c.htm#484732

Ermek
26-08-2008, 10:12:50
Gracias, he probado con ADO pero necesita tener instalado el cliente de oracle. Quisiera saber si hay alguna forma o algún componente que trabaje en remoto y no necesite tener instalado el cliente de Oracle. Gracias.

poliburro
26-08-2008, 14:42:51
Gracias, he probado con ADO pero necesita tener instalado el cliente de oracle. Quisiera saber si hay alguna forma o algún componente que trabaje en remoto y no necesite tener instalado el cliente de Oracle. Gracias.


No necesitas instalar el cliente de oracle, es más para iniciar con tus pruebas puedes usar el proveedor OleDb de oracle fabricado por microsoft y después descargarte el provedor oledb frabricado por oracle. Lo que si independientemente del proveedor que uses requieres el tsnames para la conexión.

Saludos.

Ermek
27-08-2008, 10:13:51
Si intento conectarme con ADO sin instalar previamente el cliente de Oracle me aparece el siguiente mensaje de error:

"No se encontró el cliente de oracle y los componentes de rede de oracle. Estos componentes son proporcionados por Oracle Corporation ..."

En Windows\system32 tengo el fichero tnsnames.ora, con el siguiente contenido:

DATOS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DATOS)
)
)


Sin embargo, en modo local funciona perfectamente.

Utilizo el Delphi 7.

Saludos y gracias por todo.

poliburro
27-08-2008, 14:13:40
Podrías indicar la cadena de conexión que utilizas?

eduarcol
27-08-2008, 14:18:03
yo hace un tiempo logre crear la conexion con un servidor Oracle y solo instale el OleDb para crear la entrada en el ODBC, tal cual lo dice el amigo POLI

salvica
23-12-2008, 19:02:55
Podrías indicar la cadena de conexión que utilizas?

Hola poliburro, estoy intentando conectarme con Oracle 10g (Enterprise) mediante ZeosDBO 6.6.4-stable y Delphi-7, pero soy incapaz de conseguirlo.

¿Puedes indicarme una cadena de conexión para ello?

He seguido los pasos que aparecen aquí (http://www.sunvisor.net/userdata/usingADOwithOracle.doc), creando un objeto .UDL que pongo en la propiedad ConnectionString de un TADOConnection, pero, cuan en diseño, cambio Connected a TRUE me aparece el error:

ORA-12541: TNS: no hay ningún listener

Lo raro es que si pruebo la conexión desde el objeto .UDL creado, me dice que la prueba fué satisfactoria.

La cadena de conexión que crea el UDL es:

[oledb]
; Everything after this line is an OLE DB initstring
Provider=OraOLEDB.Oracle.1;Password=tiger;Persist Security Info=True;User ID=scott;Data Source=DBLOCAL

donde DBLOCAL es my base de datos y SCOTT/TIGER es el usuario y contraseña que pone por defecto la instalación.

Gracias adelantadas
Salvica