Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Database link to SQL Server Init error

666660Oct 22 2008 — edited Feb 12 2009
Hi all,
i´m tryng to create a dblink between Oracle 10.2.0 in a RHEL4 and a SQL Server.
I can connect using isql but when i try using sqlplus i obtain this error:

SQL> CREATE DATABASE LINK dbl
CONNECT TO "user"
IDENTIFIED BY "pwd"
USING 'hsodbc'; 2 3 4

Enlace con la base de datos creado.

SQL> SELECT * FROM Table_1@dbl;
SELECT * FROM Table_1@dbl
*
ERROR en línea 1:
ORA-28545: error diagnosticado por Net8 al conectar a un agente (error in Net8 while connecting an agent)
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 2 lines precediendo a DBL

This is the error explanantion in Oracle Docs:


I think the problem is the ini file inithsodbc.ora.

----------------------------------------
inithsodbc.ora
----------------------------------------
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.

#
# HS init parameters
# AAB - Parametros para asociar un agente ODBC al HS
HS_FDS_CONNECT_INFO = MSQLS
HS_FDS_TRACE_LEVEL = ON
HS_FDS_SHAREABLE_NAME =/usr/local/freetds/lib/libtdsodbc.so
HS_AUTOREGISTER = true

#
# ODBC specific environment variables
#
set ODBCINI=/home/oracle/.odbc.ini

----------------------------------------
listener.ora
----------------------------------------
# listener.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = STA2)
(ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
)
(SID_DESC = (SID_NAME=hsodbc)
(ORACLE_HOME=/app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM=hsodbc)
(ENVS=LD_LIBRARY_PATH=/app/oracle/oracle/product/10.2.0/db_1/lib:/usr/local/lib)
)
)



LISTENER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
)
)

----------------------------------------
tnsnames.ora
----------------------------------------
# tnsnames.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

DEVSTA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr.hi.inet)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = devSTA)
)
)

STA2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = STA2)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

STA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = STA)
)
)

#AAB - Descripcion de servicio para conectar con SQLServer
HSODBC = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)
(HOST=nemesisgr2.hi.inet)
(PORT=1521)
)
(CONNECT_DATA = (SID=hsodbc)
)
(HS = OK)
)

ODBC Files

----------------------------------------
odbc.ini
----------------------------------------
[ODBC Data Sources]
MSQLS = Microsoft SQL Server

[MSQLS]
Driver = /usr/local/freetds/lib/libtdsodbc.so
Description = Microsoft SQL Server
Trace = No
Servername = sqlserver
Database = master

[Default]
Driver = /usr/local/freetds/lib/libtdsodbc.so

----------------------------------------
odbcinst.ini
----------------------------------------
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1

[MSQLSDRIVER]
Description = Driver for MS SQL Server
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup = /usr/lib64/libtdsS.so
FileUsage = 1
UsageCount = 5


----------------------------------------
freetds.conf
----------------------------------------
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".

# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2

# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff

# Command and connection timeouts
; timeout = 10
; connect timeout = 10

# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512

# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0

# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0

# Test MS SQl Server
[sqlserver]
Database = master
host = pruebas.hi.inet
port = 1433
tds version = 7.0


Any ideas??

Thanks in advance.

Alex
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 12 2009
Added on Oct 22 2008
16 comments
9,424 views