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