heterogeneous link from oracle XE to firebird [message #327907] |
Wed, 18 June 2008 06:22 |
sead
Messages: 2 Registered: June 2008
|
Junior Member |
|
|
Hi,
I/m trying to setup a heterogeneous link from an oracle XE (10.2.0) on a
Redhat :
Linux version 2.6.9-5.ELsmp (bhcompile@decompose.build.redhat.com) (gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan 5 19:30:39 EST 2005
To a firebird database using IBPhoenix Open Source ODBC Driver.
Everything went OK. Except when I execute an sql statement from oracle
Like : select icode,iname from itable@superbase where icode and iname are strings the first row is displayed correctly but from the second row the strings are scrambled. Fro example instead of 123456
I get 354162 for field icode and instead of MASTER I get ASERM .
All the numeric fields are displayed correctly.
When I execute the same from isql on the linux server everything works OK.
When I execute the sql above as select icode,iname from itable@superbase where icode=’123456’ and returning one row everything displayed OK.
I’m attaching the configuration files for your reference.
Any advice appreciated.
Thanks
# tnsnames.ora Network Configuration File:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = okserver.ok)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
superbase=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=okserver.ok)(PORT=1521))
(CONNECT_DATA=(SID=superbase))
(HS=OK)
)
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = superbase)
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(PROGRAM = hsodbc)
(ENVS=LD_LIBRARY_PATH=/usr/lib/unixODBC)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = okserver.ok)(PORT = 1521))
)
)
the initsuperbase.ora
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = superbase
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/lib/unixODBC/libOdbcJdbc.so
#
# ODBC specific environment variables
#
set ODBCINI = /etc/odbc.ini
The /etc/odbc.ini
[superbase]
Description = Firebird
Driver = Firebird
Dbname = localhost:/usr/databases/2008/superbase.gdb
User = SYSDBA
Password = masterkey
Role =
CharacterSet = WIN1253
ReadOnly=No
NoWait = No
and the sql link :
create database link SUPERBASE
connect to SYSDBA
using 'superbase';
|
|
|
|
|
|