linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

通过MSSQL连接服务器连接至Oracle数据库

时间:2016-10-16  来源:未知  作者:linuxsir首页

前言

有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互。本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例。

具体步骤

首先需要到Oracle的官网下载Oracle Client(简称OCT),也就是通常大家所说的Oracle客户端。OCT的作用就是连接MSSQL与Oracle的一个桥梁,有了OCT就可让MSSQL与Oracle互相通信。

OCT的官网下载地址为: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-2297732.html,如下图:

当前的Oracle最新版本为12C,将页面向下拖动,会发现两个OCT的版本。

分别为32位OCT和64位OCT。根据你的系统情况,安装对应的版本即可。

博主的相关版本如下

服务器

操作系统

数据库

Server1

Windows Server 2012 R2 x64

Microsoft Sql Server 2014 Enterprise x64

Server2

Windows Server 2012 R2 x64

Oracle 10g

 

细心的人可能会问,为什么你的Oracle 是10g,你要选择12c版本的OCT,这个原因主要是因为博主有高版本强迫症。

由于Server1是64位操作系统,所以选择了64位的OCT进行安装。安装过程很简单,运行setup即可,这里就不再赘述。

安装完成之后最好重启一次服务器,避免发生未知错误。

重启之后,通过OCT的Net Manager进行Oracle连接配置。如下图:

配置好之后通过连接测试,测试一下是否正确,如果连接成功,表示配置正确无误。

打开MSSQL,在连接服务器的访问接口中,你会发现多出了一个OraOLEDB.Oracle的接口。如下图:

该接口的具体配置如下:

这里注意,"允许进程内"项必须勾选,否则将无法连接到oracle

最后一步,需要新建连接服务器,具体步骤如下图所示:

其中连接服务器名称为MSSQL连接服务器的名字,提供程序为Oracle Provider for OLE DB,该Provider是在安装完成OCT之后才会有。产品名称无关紧要,博主这里填写的是具体的Oracle版本。最重要的是数据源参数,博主填写的是tpemr,这个参数的来源是在OCT的Net Manager中配置的服务命名(如下图中服务器命名为tpemr),如果填写错误或者Net Manager中配置错误,都将导致无法连接到Oracle。

之后在安全性选项卡中配置tpemr相关的Oracle用户名和密码。之后确定即可,如下图:

之后在MSSQL的连接服务器中将会出现一个新的TPEMR连接服务器。通过测试连接可测试连接是否正常,如下图:

至此,MSSQL的连接服务器连接至Oracle数据库完成。

通过MSSQL的连接服务器查询Oracle数据

查询的方法很简单,基本语法与MSSQL连接MSSQL的连接服务器的查询语法类似。

基本方式为 select * from [连接服务器名称]..[数据库所有者名称].[表名]

其余的CRUD操作和这种方式类似。但是前提是你的Oracle账户具备这些权限。

后续

本博文具体的阐述了建立MSSQL连接服务器连接至Oracle数据库的方法,最后说明了一下跨库查询的方式。希望对你有所帮助。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

友情链接