共计 1536 个字符,预计需要花费 4 分钟才能阅读完成。
前言
有很多时候,我们需要 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
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135232.htm