mssql通过链接服务器连接oracle

Streamoutput 2020-01-17

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

 2020/1/17_第1次修改                       ccb_warlock

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

最近2个月在写mssql的存储过程,业务需求需要向第三方oracle写回数据,所以需要解决如何通过mssql连接oracle并写回数据。


一、安装Oracle数据访问组件ODAC

通过SSMS查看,如果Oracle Provider for OLE DB存在,则跳过步骤一(安装Oracle数据访问组件ODAC)。

mssql通过链接服务器连接oracle

1.1 获取安装包

从oracle官网(https://www.oracle.com/database/technologies/odac-downloads.html)获取最新的包。

mssql通过链接服务器连接oracle

1.2 解压包到指定目录

PS.为了方便,我将包解压到E盘。

mssql通过链接服务器连接oracle

简单说下几个目录的内容:

asp.net:ASP.NET 2 的组件

asp.net4:ASP.NET 4 的组件

instantclient_12_2:oracle客户端

network:存放tnsnames.ora

odp.net4:.NET 4 的组件

odp.net20:.NET 2 的组件

oledb:OLE DB的组件

oramts:MTS服务

1.3 关闭安全软件

我电脑装了火绒,安装之后SSMS一直看不到Oracle Provider for OLE DB,关了火绒之后重新安装,SSMS里就能看到了。

1.4 通过cmd安装ODAC

管理员身份打开cmd后,执行下面的命令

# 切换到解压后的目录

e:
cd ODAC122010Xcopy_x64

# 安装到 D:\ODAC 目录下

install.bat oledb d:\ODAC ODAC

PS: ODAC,可以随意指定一个字符串。这个参数是用来写入注册表的。安装成功后会在注册表HKEY_LOCAL_MACHINE\Software\Oracle\KEY_ODAC("KEY_"后面的ODAC就这个随意指定的字符串)

mssql通过链接服务器连接oracle

1.5 添加环境变量

编辑系统变量PATH,添加值 D:\ODAC 和 D:\ODAC\bin

mssql通过链接服务器连接oracle

1.6 重启计算机


二、新增oracle的服务器对象

2.1 修改访问接口的配置

打开SSMS,右键修改访问接口OraOLEDB.Oracle的属性,勾选“允许进程内”,点击“确定”;

mssql通过链接服务器连接oracle

2.2 添加1个oracle链接服务器

1)右键“新建链接服务器”

mssql通过链接服务器连接oracle

2)填写oracle服务器的信息

mssql通过链接服务器连接oracle

 

3)填写连接oracle的用户名密码

mssql通过链接服务器连接oracle

4)修改RPC参数,点击“确定”

mssql通过链接服务器连接oracle


三、测试连接功能

在oracle中,定义了表USER_T如下

mssql通过链接服务器连接oracle

用下面的sql语句在ssms中查询,能获取结果说明连接功能正常。

 mssql通过链接服务器连接oracle


参考资料:

1.https://jingyan.baidu.com/article/e4511cf336ce872b845eafd4.html

相关推荐