我想使用链接服务器和Oracle客户端将SQL Server 2012连接到Oracle 11g数据库。我已经在本地计算机上安装了SQL Server 2012。在客户端计算机上安装了Oracle数据库。
我的客户端共享了我的计算机的IP地址,系统ID,实例号以及Oracle数据库用户ID和密码。
我遵循了以下提到的步骤:
我用以下脚本步骤创建了一个链接服务器
exec master.dbo.sp_MSset_oledb_prop 'ORAOLEDB.Oracle', N'AllowInProcess', 1
exec master.dbo.sp_MSset_oledb_prop 'ORAOLEDB.Oracle', N'DynamicParameters', 1
exec sp_addlinkedserver N'MyOracle', 'Oracle', 'ORAOLEDB.Oracle', N'//HOSTNAME/TRQ', N'FetchSize=2000', ''
exec master.dbo.sp_serveroption @server=N'MyOracle', @optname=N'rpc out', @optvalue=N'true'
exec sp_addlinkedsrvlogin @rmtsrvname='MyOracle', @useself=N'FALSE', @rmtuser=N'ORACLE USERNAME', @rmtpassword='ORACLEPASSWORD'
当我执行以下查询时出现错误:
链接服务器“ MyOracle”的OLE DB提供程序“ ORAOLEDB.Oracle” 返回消息“ ORA-12154:TNS:无法解析连接 指定的标识符”。 Msg 7303,第16级,状态1,第9行 无法为链接服务器“ MyOracle”初始化OLE DB访问接口提供程序“ ORAOLEDB.Oracle”的数据源对象。
MyOracle中的exec(“从双选中选择1 a”)
答案 0 :(得分:0)
1-将ODAC目录和ODAC \ Bin添加到路径 (使用SET PATH命令检查)
2-确保您的Oracle和SQL版本是位兼容的(两者都是32位或都是64位)
3-确保ODAC与它们位兼容。
4-如果您的Oracle实例的端口不是1521,请在主机IP之后添加它: