记录SQL Server 2019链接Oracle 11g R2的过程
前言
基于作者项目特性,需要从A方Oracle导出数据到SQL Server中,A方使用Oracle 11g R2,我方使用SQL Server 2019,在搜集相关资料以及结合项目进展,提出使用SQL Server链接Oracle的方式,便于简化开发环境。
操作过程简述
1.安装配置OracleClient
在服务器上安装SQL Server和Oracle Client(如win64_11gR2_client),配置tnsnames.ora(以下为测试环境配置)
1 ORCLDB= 2 (DESCRIPTION = 3 (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) 4 (CONNECT_DATA = 5 (SERVER = DEDICATED) 6 (SERVICE_NAME = ORCL) 7 ) 8 ) 9 #其中HOST = 127.0.0.1 输入Oracle服务器IP,PORT输入Oracle端口,SERVICE_NAME输入目标Oracle的服务名。
2.配置SQL Server(非必要配置)
打开 SQL Server <version> Configuration Manager
选择SQL Native Client <all version> Configuration
设置[TCP/IP]为Enable
配置SQL Server Network Configuration
配置Protocols For MSSQLSERVER中[TCP/IP]为Enable
打开MSSM,选择目标数据库,右键[属性]
选择[连接],确认勾选[允许远程连接到此服务器]
3.配置链接数据库
MSSM中目标数据库->服务器对象->链接服务器
展开Providers,双击OraOLEDB.Oracle(该选项需要在SQL Server服务器上预装OracleClient),确认勾选[允许进程内]和[支持"Like"运算符],其它不勾选,确认保存
右键[链接服务器],选择[新建链接服务器]
选择[常规]左侧边栏,提供程序选择[Oracle Profider for OLE DB],产品名称输入Oracle,数据源输入:
1)输入tnsnames.ora中配置的数据源,访问接口字符串(以下为测试环境配置):
[IP地址]:1521/orcl
数据源格式为IP:端口/实例
选择[安全性]左侧边栏,单选[使用此安全上下文建立连接(M):],在[远程登录:]和[使用密码:]对应的输入框中输入Oracle访问的用户名和密码。
Remote login和With password输入Oracle的登录用户名和密码。
选择[服务器选项]左侧边栏,将[RPC]和[RPC Out]设置为True。
4.
点击[确定]按钮,完成配置。点击[新建查询]测试功能:
select * from OPENQUERY(ORACLE_LINK_TEST,'select * from test.test_table_name')