SQL Server 链接Oracle 数据库实战
ccwgpt 2024-11-24 12:45 43 浏览 0 评论
概述
在某些情况下,我们希望从外部数据库中获取数据,而无需在应用程序中进行额外编码,只需编写一个 T-SQL 查询即可为我们完成所有工作。这就是微软提供的“链接服务器”功能的原因。
但默认情况下,链接服务器无法连接到 Oracle 数据库。本文中我们将展示如何安装必需的库和工具,然后我们将配置 Oracle 数据库(称为 Oracle Net)的网络层,以最终能够创建链接服务器并查询目标数据库实例。
Oracle 数据库客户端的安装
首先,停止 SQL Server 实例。如果实例正在运行,安装不会失败,但是在第一次调用 Linked Server Provider 时,实例会挂起并且不会响应!本文中我想连接一个 Oracle Database 11g 实例。所以我将安装一个 Oracle Database 11g 客户端,但您也可以尝试安装最新版本。源文件可以在Oracle 的网站上下载。它采用 ZIP 文件的形式。下载解压缩并打开解压缩的文件夹。
完成后,只需点击 ? setup.exe ?
这将打开以下对话框。选择?自定义?
选择您使用的适当语言。
然后选择安装的目标文件夹。我个人更喜欢将其与操作系统分区分开,并且我遵循 Oracle 中的常规路径。
现在让我们选择适当的组件。
[
- 数据库实用程序、SQL*Plus 和 Oracle 调用接口是在出于任何原因添加外部开发的情况下选择的。它们可能没有用。
- Oracle Net是 Oracle 数据库的网络层。这将允许我们在名为 tnsnames.ora 的文件中配置“路由”
- 选择了Oracle ODBC Driver、Oracle Provider for OLE DB 和 Oracle Provider for .NET,以允许 SQL Server 通过不同的方式联系 Oracle 数据库。
通过单击“下一步”按钮,您将看到以下界面:
[
单击“结束”并开始安装……
我们完成了。
让我们连接到 SQL Server 实例并检查它是否看到新安装的提供程序:
配置 Oracle Net(添加对目标 Oracle 实例的引用)
- 配置文件的位置
由于我们在 I:\app\oracle 中安装了 Oracle 软件,因此网络配置文件将位于 I:\app\oracle\product\11.2.0\client_1\network\admin 中。
- 编辑 Oracle Net (sqlnet.ora) 的配置
我们将使用它来首先确定名称解析方法的优先级,定义默认域和时间间隔以验证连接是否仍处于活动状态。
为此,请在 sqlnet.ora 文件中添加以下行。
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)NAMES.DEFAULT_DOMAIN = LOCALDOMSQLNET.EXPIRE_TIME = 30
重要的提示
定义 NAMES.DEFAULT_DOMAIN 时,您将始终必须使用完全限定的 TNS 名称。如果您对使用不感兴趣,可以将其删除
- 编辑名称解析中使用的本地列表 (tnsnames.ora)
在配置中另一个非常重要的文件是 tnsnames.ora 文件。此 tnsnames.ora 文件是一个配置文件,其中包含映射到本地命名方法的连接描述符的网络服务名称,或映射到侦听器协议地址的网络服务名称。
以下是用于创建链接服务器的内容示例。
TESTSRV.LOCALDOM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = TestSrv.st.chulg)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TESTSRV.LOCALDOM) ) )
- 测试命名解析
打开 cmd.exe 并运行以下命令:
tnsping TESTSRV
您将收到类似于以下内容的文本:
创建到 Oracle 数据库实例的链接服务器
- 使用 SSMS
创建链接服务器最方便的方法肯定是通过 SQL Server Management Studio。为此,请连接到 SQL Server 实例并找到 ? Server Objects ?,单击一下,您将找到 ? Linked Servers ?。如果您右键单击它,您将能够创建一个新的链接服务器。
如下提供连接信息。作为数据源,您将使用 tnsnames.ora 文件中使用的名称(带或不带域名)。
在配置的安全部分,根据您的环境配置,您将选择适当的方法用于远程身份验证。
您还可以查看链接服务器设置以根据您的环境进行调整。
单击“确定”后,将创建链接服务器并将其添加到“链接服务器”列表中,如下所示。
我们可以测试链接服务器。为此,请右键单击它并选择?测试连接?。
如果一切都配置好,您将看到以下对话框:
您还可以通过查看树视图查询的表和视图:
最后,您可以运行以下查询:
SELECT * FROM OPENQUERY([DBLNK_TEST] , 'select sysdate from dual') ;
小结
本文首先介绍了ORACLE客户端的安装过程,然后介绍了配置 Oracle 数据库(称为 Oracle Net)的网络层的方法,最后介绍了链接服务器的测试及查询目标数据库实例的方法。
相关推荐
- 丨公司丨公司大架构整理汇总
-
注:本文转自团队成员原创作品,特此鸣谢(公号:法海图鉴)今日话题公司大架构整理背景介绍经过前几期话题对各种企业类型的介绍,想必大家已经有了初步认识。之后我将带着大家开启对公司的深入了解。本期...
- 图解物理--八年级物理下册最全知识框架导图
-
第七章力1力2弹力3重力第八章运动和力1牛顿第一定律2二力平衡3摩擦力第九章压强1压强2液体压强3大气压强4流体压强与流速的关系第十章浮力1浮力2阿基米德原理3物体的浮沉条件及应用第十一章功...
- 八年级上册生物,思维导图,期末高分必备资料,家长收藏
-
这是八年级上册生物的思维导图,孩子在背诵知识点的时候,可以看一下知识点在导图中的位置,形成对知识点整体的把握,有助于学生拿高分,特别是图片中带红色星星的部分,更是要注意背诵,是重点内容。家长可以把图片...
- 2019政府工作报告精华,这张思维导图里全都有
-
每经记者:李可愚每经编辑:陈星每日经济新闻
- 图解薪酬体系结构设计
-
...
- 司考复习独家总结!一张图总结行政法知识结构体系
-
作为三大实体法之一,行政法的分值在60分左右,行政法在司法考试中一直比较平稳常规,没有偏题怪题,还是比较容易得分的。小编要提醒大家,在3月之前要把三大实体法学习一遍。下图是厚大在线360导学师小周总结...
- 实用干货!高中物理框架图,让零碎知识“串联”起来
-
高中物理学习一定要抓好逻辑结构大框架!了解整个知识框架体系后,更易抓住骨干知识,干掉重难知识点~今天给大家分享高中物理的框架图同学们赶紧收藏起来吧!力学知识结构图光学知识结构图热学、原子物理知识结构图...
- 254m超高层办公楼型钢砼框架-核心筒结构图
-
高度类别:超高层建筑钢筋混凝土结构:框架,框架核心筒钢结构:钢框架建筑功能:办公包含:办公楼57层(-3层)254.150m钻孔灌注桩桩+筏板型钢混凝土框架-钢筋混凝土核心筒西裙房2层(-...
- 砖混结构与框架结构,究竟有何区别?千万别被坑!
-
现在买房装修的人最怕啥?不是价格高,而是房子不安全!两种主流建筑结构,砖混靠墙,框架靠柱子,选错了隔墙都可能要命。简单说,砖混便宜但别碰高层,框架贵点但能保命。砖混那些承重墙根本不能拆,想砸墙改个开放...
- 大师一百——高中化学必考:《元素周期律》考点框架图
-
今天大师给大家带来的是高中化学的《元素周期律》考点框架图,高中的同学必须牢记于心,这种重要的考点,考试是一定会考的!化学大师...
- 需求分析框架图
-
需求分析框架图
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)