Heterogeneous Services

Juan Mosqueda
27 de Febrero del 2006
Buenas días lista, estoy interesado en compartir datos de una instancia Oracle con cualquier manejador de base de datos, para ello estoy utilizando el HS y mi configuración es la siguiente:

SO: Windows XP Professional
Oracle: 8.1.7.0.0
no-Oracle:PostgreSQL

Listenet:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xmobile349831)(PORT = 1521))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS = (PROTOCOL = TCP)(HOST = xmobile349831)(PORT = 2481))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:oracleora8i)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = local8)
(ORACLE_HOME = D:oracleora8i)
(SID_NAME = local8)
)
#
(SID_DESC =
(SID_NAME = hsodbc)
(ORACLE_HOME = D:oracleora8i)
(PROGRAM = HSODBC)
)
#
(SID_DESC =
(SID_NAME = PostgreSQL)
(ORACLE_HOME = D:oracleora8i)
(PROGRAM = HSODBC)
)
)
Tnsname:
# TNSNAMES.ORA Network Configuration File: D:oracleora8inetworkadmintnsnames.ora
# Generated by Oracle configuration tools.

EXTPROC_CONNECTION_DATA.ORI.PDVSA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

LOCAL8.ORI.PDVSA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xmobile349831)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = local8)
)
)

INST1_HTTP.ORI.PDVSA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xmobile349831)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = local8)
(PRESENTATION = http://admin)
)
)


hsodbc.ORI.PDVSA.COM = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=xmobile349831)(PORT=1521))
(CONNECT_DATA=(SID=hsodbc))
(HS=OK)
)


PostgreSQL.ORI.PDVSA.COM = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=xmobile349831)(PORT=1521))
(CONNECT_DATA=(SID=PostgreSQL))
(HS=OK)
)
inithsodbc:
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = PostgreSQL
HS_FDS_TRACE_LEVEL = off
#

initPostgreSQL:
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = PostgreSQL
HS_FDS_TRACE_LEVEL = off
#

Después de crear el dblink y cuando me dispongo a realizar la consulta sobre Postgres, Oracle me responde:

ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from POSTGRESQL

Cualquier orientación será bienvenida.

Jor-El
27 de Febrero del 2006
Por lo que he podido ver en el metalink, es un Bug de Oracle.

Este es su número : 3080602

Juan Mosqueda
27 de Febrero del 2006
Oye no estoy muy conforme con esa idea de que sea un bug ya que la descripcion de metalink dice

ORA-28500 can occur in DRV_QSPECDESCRIBE with HS ODBC against
Postgres.

eg: select * from "ejemplo"@pgl
ORA-28500: connection from ORACLE to a non-Oracle system returned this
message:
[Generic Connectivity Using ODBC]DRV_QspecDescribe:
Record &SQLREC has no fields. Loading failed
ORA-02063: preceding 2 lines from PGL
y a mi el manejador me dice solamente:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from POSTGRESQL

si te das cuenta practicamente me esta diciendo que hay un error pero no me esta diciendo que es. Ya probe la configuracion con otro RDBMS (ASE) y todo funciono bien, estoy pensado que puede se el driver de ODBC de postgre por lo que estoy investigando por esa linea.

Gracias por tu ayuda.


Jor-El
27 de Febrero del 2006
Bueno, yo he hecho una búsqueda en el Metalink por ORA-02063 "POSTGRE" ( O POSTGRESQL, no me acuerdo ) y me ha salido un unico resultado que ponia mas o menos MIRAR EL BUG NÚMERO XXXXXX , que es el que te he puesto.

Si no te sirve lo siento, pero no puedo ayudarte mas.


Juan Mosqueda
27 de Febrero del 2006
Gracias por tu ayuda amigo Jor-El, no fue mi intencion incomodarte. Cuaqluier idea que puedas compartir conmigo y con el foro simpre sera bienvenida.

Desinstale el Driver que viene por defecto con el PostgreSQL he instale uno que me encontre en http://www.postgresql.org/ftp/odbc/versions/msi/ psqlodbc-08_01_0200.zip
ahora el manejador me dice:

SQL> select * from "emp"@PostgreSQL;
select * from "emp"@PostgreSQL
*
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Generic Connectivity Using ODBC]no se pudo conectar con el servidor:
Connection refused (0x0000274D/10061)
?st?l servidor en ejecuci?en el servidor ?0.18.72.29?y aceptando
conexiones TCP/IP en el puerto 5432?
(SQL State: 08001; SQL Code: 113)
ORA-02063: preceding 5 lines from POSTGRESQL

Baje he instale:
.-MySQL
.-MySQL-ODBC
configure el HS y todo funciono bien. Por eso sigo buscando la solución a la conexión con PostgreSQL en funcion del driver implementado.