我正在尝试从Oracle 10G(在UNIX上)连接到SQL Server数据库(在Windows上)。我查看了手册,我承认我发现文档很难遵循。似乎有几个选项可供使用,但没有一个文档描述每个选项的工作原理。
作为一个例子,我已经获得了有关我需要连接的数据库(即SQL Server数据库)的以下信息
要连接上面我做了以下更改
HS_FDS_CONNECT_INFO = data_extract
HS_FDS_TRACE_LEVEL = 0
sqlserver.db =
(DESCRIPTION =
(ADDRESS = (protocol=tcp)(host=10.10.10.10)(port=49400))
(connect_data = (sid=data_extract))
(hs=ok)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = merlin)(PORT = 1525))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = db1.mydb.co.uk)
(ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
(SID_NAME = billdb)
)
(SID_DESC =
(SID_NAME = data_extract)
(ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
(program = hsodbc)
)
)
注意:在listener.ora中,我只添加了最后一个SID_DESC条目。
然后我继续创建数据库链接,如下所示
create database link sqlservdb using 'sqlserver.db';
当我尝试访问表格时,我收到以下错误
sqlplus> select * from TESTTABLE@sqlservdb;
select * from TESTTABLE@sqlservdb
*
ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from ORASQLSERVER
我不确定的一些事情
对此有任何帮助将不胜感激。感谢
答案 0 :(得分:4)
我使用的是必须在Oracle UNIX计算机上配置的Data Direct驱动程序。您必须在UNIX中创建ODBC连接才能看到SQL Server。 (至少我一直都是这样做的)
答案 1 :(得分:2)
为了创建指向SQL Server的数据库链接,您必须在双引号之间包含您的连接名称和密码,如下所示:
create database link mysqlink
connect to "myuser" identified by "mypassword" using 'servername';