mssql通过链接服务器连接oracle

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

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

 

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

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

 


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

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

 

1.1 获取安装包

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

 

1.2 解压包到指定目录

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

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

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就这个随意指定的字符串)

 

1.5 添加环境变量

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

 

1.6 重启计算机

 


二、新增oracle的服务器对象

2.1 修改访问接口的配置

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

 

2.2 添加1个oracle链接服务器

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

 

2)填写oracle服务器的信息

 

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

 

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

  


三、测试连接功能

在oracle中,定义了表USER_T如下

 

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

 

 

 


参考资料:

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

 

 

posted @ 2020-01-17 07:00  粽先生  阅读(2125)  评论(0编辑  收藏  举报