sql 链接到oracle数据库,通过MSSQL连接服务器连接至Oracle数据库

前言

有很多时候,我们需要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,如下图:

a624ef72747f505d7c598dab7319f4ce.png

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

02b4767e93e3e7421035401cb803789f.png

分别为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

51a9fd892664b9c41437dd076db4425b.png进行Oracle连接配置。如下图:

b8bb059ff29a404c168a846ef678dd83.png

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

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

3e3bf5eac2c03bd55d41daa4df6cc24d.png

该接口的具体配置如下:

3d751843f82863be8d29d3673e894aed.png

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

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

95767eae9dba2ec6a70f1e765d5a3c86.png

b8f80fe272e75bbf5c994dd04422d6e1.png

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

85f1e2a7566180b5410967e8b7352fbf.png

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

fd7e8b63471ac50bfa572fd802a5ef17.png

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

7abe0441818bade5b7f988abec167ab7.png

8191cacef0067d6030d0f1a4937b5593.png

8bb2c47b0936f9b1b67f77fadd04c7e7.png

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

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

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

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

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

后续

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

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python一看就很厉害的代码_Python学习教程:怎么写出让人看起来就很舒服的代码?...

Python学习教程:怎么写出让人看起来很优雅舒服的代码?让人眼前一亮!很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成…

VBS 自动发送邮件

--------------------------------------------------------------------------------- 函数名称 : SendMail 函数功能 : 自动发送邮件功能 函数输入 : SendTo----收件人,多个收件人可使用";"隔开MailTopic----邮件主题MailBody----邮件内容,此处内容格式…

oracle更新数据没有变化,往oracle里面写入数据,怎么表空间都没有变化

当freelist里面没有记录了,也就是块空间已经没有办法容纳新的记录了,这时候就需要扩展extent.这里有一个脚本来查看段空间使用情况。[php]create or replace procedure show_space( p_segname in varchar2,p_owner in varchar2 default user,p_type …

关于python变量的描述_Python变量命名的详细介绍

目前开发命名规范基本都遵循驼峰命名法,如:userName。我也不将这个规范的特性了,大家都明白。接下来进入正题,如何在python中取一个好名字,让你能更好的见名知意呢?1.元组(Tuple)类型变量命名在python中Tup…

Visual Studio 2010 单元测试之一---普通单元测试:http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx...

本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试. 首先来介绍普通单元测试,这是进行顺序测试、压力测试的基础。如果在Visual Studio 2010(2008)里面没有发现下图中的Test菜单,请用Visual Studio安装光盘进行安装&a…

python调用数据库数据类型_Python使用Mysql官方驱动(取出dict类型的数据)

简介虽然Python有很多连接mysql的库,比如mysqldb, pymysql~这些都很方便,现在就教大家使用mysql的官方库来操作mysql.安装windows: 下载链接image.png选择自己的windows版本和Python版本,下载msi文件后双击安装即可。(如果在网站没找到msi版本…

docker构建oracle集群,docker 构建 oracle数据库 镜像-Go语言中文社区

前言之前docker 部署的 oracle 镜像,突然从 dockerhub 下架了。所以没办法,只能自己打包一个oracle 数据库的镜像。找来找去,其实oracle 自身就提供了oracle 的产品 docker 构建脚本。所以直接按照oracle 官方的docker 构建仓库的说明打包。o…

oracle opatch那个回退,下面是我在打OPatch时使用的一般步骤,供大家参考

下面是我在打OPatch时使用的一般步骤,供大家参考:1、停止crs_stat -t## running as oraclesrvctl stop instance -d -isrvctl stop instance -d -isrvctl stop nodeapps -nsrvctl stop nodeapps -n## running as root(分别在2个节点执行)$CRS_HOME/bin…

Linq动态查询与模糊查询

IList<Department> mDepartmentLst new List<Department>();IList<Employee> mEmployeeLst new List<Employee>();mDepartmentLst.Add(new Department() { Id 1, DeptNo "001", DeptName "开发部", IsBusiness false });mDe…

python如何使用字典中的值并进行比较_python嵌套字典比较值与取值的实现示例

前言本文通过示例给大家介绍了python嵌套字典比较值&#xff0c;取值&#xff0c;分享出来供大家参考学习&#xff0c;下面话不多说了&#xff0c;来一起看看详细的介绍吧。示例代码#取值import typesallGuests {Alice: {apples: 5, pretzels: {12:{beijing:456}}},Bob: {ham …

用命令创建表空间、用户,并为用户授权、收回权限。

oracle中如何删除用户&#xff1f; Oracle中使用DROP USER来删除用户&#xff0c;如果使用DROP USER CASCADE那么用户的对象也同时被删除掉。为了达到删除用户的效果而又不影响对用户下的对象的使用可以使用alter user username account lock将用户锁定。 用命令创建表空间、用…

oracle pdb 表空间,Oracle 12c CDB 和 PDB 表空间管理和配置 说明

注&#xff1a;本文谢绝转载。1 管理CDB中的表空间CDB表空间的管理和non-CDB 表空间的管理一样&#xff0c;CDB 也有一个实例&#xff0c;在安装的时候指定。--查看表空间&#xff1a;SQL> select instance_name fromv$instance;INSTANCE_NAME----------------CndbaSQL>…

微软企业库连接access,web.config相对路径配置

web.config配置 配置中需要注意的一个地方就是Access数据库要存放在App_Data文件夹下&#xff0c;这样就可以通过相对路径调用Access数据库。 <add name"AccessConnectionString" connectionString"ProviderMicrosoft.Jet.OLEDB.4.0;Data Source|DataDirecto…

python画蜡烛致敬烈士_「」matplotlib 股票-用python绘制蜡烛线型k线图是用代码还是绘图工具-TOP金融网...

用python绘制蜡烛线型k线图是用代码还是绘图工具import matplotlib.pyplot as pltfrom matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY,YEARLYfrom matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlcplt.rcParams[font.…

[html] 后缀.html和.htm有什么区别?

[html] 后缀.html和.htm有什么区别&#xff1f; 历史遗留问题&#xff0c;原来的结尾只能由三个字母&#xff0c;是一摸一样的。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通…