我已经创建了指向SQL Server数据库的到Oracle数据库的数据库链接。如果已为此SQL Server数据库正确配置ODBC,我还在Oracle数据库服务器上安装了Oracle Gateways for SQL Server。
当我尝试在Oracle数据库上执行此SQL请求时:
SELECT * FROM obbud@qualiactst
(qualiactst is my DBLink :
-- PROMPT CREATE DATABASE LINK qualiactst
CREATE DATABASE LINK qualiactst
CONNECT TO iac IDENTIFIED BY ***** USING 'RIATST';
)
错误信息显示如下:
ORA-12154: TNS : could not resolve the connect identifier specified
我已经使用以下命令配置了Oracle数据库服务器的tnsname.ora文件:
RIATST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = grensql2k12R2-1)(PORT = 14539))
)
(CONNECT_DATA = (SID = RIATST))
(HS=OK)
)
(but我真的不知道是否必须将非oracle数据库添加到tnsname.ora中)
我不明白我做错了什么,是否缺少了一些东西。
你能帮我吗?非常感谢
让娜
2条答案
按热度按时间wvmv3b1j1#
看起来您没有在目标主机(grensql 2k 12 R2 -1)上设置侦听器,或者没有配置HS初始化文件。
一般来说,试着按照这个指南去做。有太多的细节不能在一个答案中检查每一个。
ru9i0ody2#
用于与异类MSSQL数据库通信。有两个选项。
1)为SQL Server使用专用的Oracle数据库网关。为SQL Server配置Oracle数据库网关2)为ODBC配置Oracle数据库网关。为ODBC配置Oracle数据库网关
为SQL Server配置Oracle数据库网关的简单示例
系统管理员
ORACLE_HOME\网络\管理\监听程序.ora
重新启动监听程序
ORACLE_HOME\网络\管理员\tnsnames.ora
来自生产服务器Oracle www.example.com的示例11.2.0.4
/主目录/Oracle/应用程序/Oracle/产品/11.2.0/数据库主目录_1/dg 4 msql/管理员/初始化
/主目录/Oracle/应用程序/Oracle/产品/11.2.0/数据库主目录_1/dg 4 msql/管理员/初始化
/主目录/Oracle/应用程序/Oracle/产品/11.2.0/数据库主目录_1/网络/管理员/监听器.ora
/主目录/Oracle/应用程序/Oracle/产品/11.2.0/数据库主目录_1/网络/管理员/事务名称.ora