前言
基于作者项目特性,需要从A方Oracle导出数据到SQL Server中,A方使用Oracle 11g R2,我方使用SQL Server 2019,在搜集相关资料以及结合项目进展,提出使用SQL Server链接Oracle的方式,便于简化开发环境。
操作过程简述
1.
在服务器上安装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 <version> Configuration Manager
3.
选择SQL Native Client <all version> Configuration
3.1.
设置[TCP/IP]为Enable
4.
配置SQL Server Network Configuration
4.1.
配置Protocols For MSSQLSERVER中[TCP/IP]为Enable
5.
打开MSSM,选择目标数据库,右键[属性]
5.1.
选择[连接],确认勾选[允许远程连接到此服务器]
6.
MSSM中目标数据库->服务器对象->链接服务器
6.1.
双击OraOLEDB.Oracle,确认勾选[允许进程内]和[支持"Like"运算符],其它不勾选,确认保存
6.2.
右键[链接服务器],选择[新建链接服务器]
6.2.1.
选择[常规]左侧边栏,提供程序选择[Oracle Profider for OLE DB],产品名称输入Oracle,数据源输入tnsnames.ora中配置的数据源,访问接口字符串(以下为测试环境配置):
data source=ORCLDB;user=testusr;password=password1234;Persist Security Info=True
其中,user和password输入目标Oracle提供的用户名和密码
6.2.2.
选择[安全性]左侧边栏,单选[使用此安全上下文建立连接(M):],在[远程登录:]和[使用密码:]对应的输入框中输入Oracle访问的用户名和密码。
6.2.3.
选择[服务器选项]左侧边栏,将[RPC]和[RPC Out]设置为True。
7.
点击[确定]按钮,完成配置。点击[新建查询]测试功能:
select * from OPENQUERY(ORCLDB,‘select * from test.test_table_name‘)