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

原文地址:https://www.cnblogs.com/straycats/p/12204053.html

时间: 2024-10-09 13:43:03

mssql通过链接服务器连接oracle的相关文章

mssql通过链接服务器连接其他mssql

=============================================== 2020/1/18_第1次修改                       ccb_warlock =============================================== 最近的业务实现使用存储过程,业务需求要向第三方mssql写回数据,所以这里记录下如何解决mssql连接第三方mssql并回写数据. 这里比起oracle绕了几圈,因为我安装的内容里没有MSOLEDBSQL的访

SQLserver通过链接服务器连接oracle

在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracle中的数据抽取到SQLserver数据库中. 环境介绍:win2012  64位服务器.SQLserver2012数据库.本地数据库Oracle 11g-64bit 注意:在这里特别声明一点,或许有的人认为oracle根本就不区分位数,只要是数据库就行,是不行的,如果你的机子是64位的,你必须装64

SQL Server 通过链接服务器访问Oracle

数据库:SqlServer2005 .Oracle 11gR2 系统环境:windows Server 2008R2 32位. 最近在做项目时,需要通过sql的链接服务器访问Oracle.以前弄过sql访问sql,感觉挺简单的,以为访问Oracle也差不多,实际做过后才发现存在很多差距. 步骤: 1.SQL Server端Windows需装对应版本的Oracle客户端.(我安装Oracle9i客户端后通过PL/SQL访问Oracle11gR2,没有问题,但是通过链接服务器访问就无法查询) 2.O

Sqlserver通过链接服务器访问Oracle的解决办法

转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac

64位sql server 如何使用链接服务器连接Access

原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 网上的许多教程都介绍了如何使用链接服务器连接Access,但这些教程都是基于32位的sql server而言的. 参见经典教程:<SQL Server2005连接Excel.Access> 教程中提到了“访问接口”要选择“Microsoft.Jet.OLEDB.4.0”.但是由于windows s

【转】Sqlserver通过链接服务器访问Oracle的那些事儿!

原文:http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 前言:1.不经历风雨,怎能见彩虹.2.充分利用BaiDu.google等搜索引擎查找资料并整合分析!3.世上无难事只怕有心人! 本文由来:笔者在研究SQLSERVER链接服务器到oracle并使用分布式事务时,出现各种各样的‘故障.异常’后,通过‘百度.google’等大量搜索引擎寻找解决问题无果,同时发现网上有大量的‘战友’牺牲在这道坎上,故发此文罗列出链接服务器出现的各种问题(本人

SQLServer2008新建链接服务器for Oracle

最近要在SQLServer2008中使用Oracle 10g的一个视图,通过建立链接服务器即可在SQLServer中使用Oracle提供的视图. 前提:SQLServer服务器端需要安装Oracle的客户端 1.配置Oracle连接信息 在tnsnames.ora文件中配置要连接的Oracle数据库 RDORA101_10.23.116.15 =  (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.23.11

sql server中使用链接服务器访问oracle数据库

一.  安装配置oracle客户端 要访问orcale数据,必须在访问的客户端机器上安装oracle客户端. Orcale有两种形式的客户端: l         完整的客户端 包括访问服务器端数据库的基本Oracle 的 Microsoft OLE DB 访问接口需要 Oracle Client Software Support File以及 SQL*Net .还包括用于配置客户端设置的工具.sqlplus.企业管理器等一系列的工具. l         立即客户端(instant clien

sqlserver2008r2 链接服务器到oracle 11g

首先 我的sqlserver 2008 r2 和oracle11g安装在同一台电脑上 下面记一下配置的方法: 1. 配置odbc   安装完成oracle后  在驱动程序中会有 oracle in oradb11g_home1这个驱动程序  如下图: 然后 在 用户DSN 中添加数据源  配置如下: 然后保存. 2. 在sqlserver中 打开访问接口, 再双击打开oracledb.oracle  ,在动态参数和允许进程内 前面打勾,然后保存.    如下图: 3.新建链接服务器,如下图: 双