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.
注册表内容:
1 2 3 4 5 6 7 8 9 10 11 | 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')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2024-01-09 EBS: 用户职责清单不能修改