MSSQL:DBLINK连接oracle 19

客户端 环境: Windows 10 x64 + SQL SERVER 2019 x64 + SSMS 19 (x32)

 

 

无法为该请求检索数据。(Microsoft.SqlServer.Management.Sdk.Sfc)

其他信息:

执行Transact-SQL语句或批处理时发生了异常。(Microsoft.SqlServer.ConnectionInfo)

 在与SQL Server 建立连接时出现与网络相关的特定于实例的错误。未找到或无法访问服务器。请验证

实例名称是否正确并且SQL Server已配置为允许远程连接(provider:命名管道提供程序,Error:40-无法打开与SQL Server的连接)

(Microsoft SQL Server,错误:2)

系统找不到指定的文件。 

=================================== 

链接服务器已创建但连接测试失败。是否要保留该链接服务器? 

===================================

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

程序位置:

 

   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType, Boolean retry)

   在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(String cmd, Boolean retry)

   在 Microsoft.SqlServer.Management.Smo.LinkedServer.TestConnection()

   在 Microsoft.SqlServer.Management.SqlManagerUI.LinkedServerProperties.DoPreProcessExecution(RunType runType, ExecutionMode& executionResult)

 

===================================

 

无法创建链接服务器“LN_UAT4EBS”的 OLE DB 访问接口“OraOLEDB.Oracle”的实例。 (Framework Microsoft SqlClient Data Provider)

 

------------------------------

有关帮助信息,请单击: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-7302-database-engine-error

 

------------------------------

服务器名称: .

错误号: 7302

严重性: 16

状态: 1

过程: sp_testlinkedserver

行号: 1

 

 

------------------------------

程序位置:

 

   在 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)

   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType, Boolean retry)

解决方式 :

1、安装 ODAC122010Xcopy_32bit.zip ,安装路径: D:\ODAC12C . 安装信息在注册表里只写64位的ODBC键,

2、安装 ODAC122011_x64.zip 安装路径: D:\Odacx64 . 

3、在注册表里 手工加 ODAC的安装信息。如下图

4、重启SQL SERVER服务。

5、打开SSMS 19 创建 DBLINK ,连接ORACLE 19. 

注册表内容: 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\Oracle in OraClient12Home1_32bit]
"APILevel"="1"
"CPTimeout"="60"
"ConnectFunctions"="YYY"
"Driver"="D:\\ODAC12C\\SQORA32.DLL"
"DriverODBCVer"="03.51"
"FileUsage"="0"
"Setup"="D:\\ODAC12C\\SQORAS32.DLL"
"SQLLevel"="1"

  

 

 

 测试效果:

select * from openQuery(ln_uat4ebs,'SELECT FU.USER_ID, FU.USER_NAME FROM  APPS.FND_USER FU WHERE USER_ID= 24640') 

 

posted @ 2025-01-09 20:26  samrv  阅读(216)  评论(0)    收藏  举报