文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL Server 链接 Oracle 数据库实战

2024-12-01 12:36

关注

概述

在某些情况下,我们希望从外部数据库中获取数据,而无需在应用程序中进行额外编码,只需编写一个 T-SQL 查询即可为我们完成所有工作。这就是微软提供的“链接服务器”功能的原因。

但默认情况下,链接服务器无法连接到 Oracle 数据库。本文中我们将展示如何安装必需的库和工具,然后我们将配置 Oracle 数据库(称为 Oracle Net)的网络层,以最终能够创建链接服务器并查询目标数据库实例。

Oracle 数据库客户端的安装

首先,停止 SQL Server 实例。如果实例正在运行,安装不会失败,但是在第一次调用 Linked Server Provider 时,实例会挂起并且不会响应!本文中我想连接一个 Oracle Database 11g 实例。所以我将安装一个 Oracle Database 11g 客户端,但您也可以尝试安装最新版本。源文件可以在Oracle 的网站上下载。它采用 ZIP 文件的形式。下载解压缩并打开解压缩的文件夹。

完成后,只需点击 « setup.exe »。

这将打开以下对话框。选择«自定义»。

选择您使用的适当语言。

然后选择安装的目标文件夹。我个人更喜欢将其与操作系统分区分开,并且我遵循 Oracle 中的常规路径。

现在让我们选择适当的组件。

通过单击“下一步”按钮,您将看到以下界面:

单击“结束”并开始安装……

我们完成了。

让我们连接到 SQL Server 实例并检查它是否看到新安装的提供程序:

配置 Oracle Net(添加对目标 Oracle 实例的引用)

由于我们在 I:\app\oracle 中安装了 Oracle 软件,因此网络配置文件将位于 I:\app\oracle\product\11.2.0\client_1\network\admin 中。

我们将使用它来首先确定名称解析方法的优先级,定义默认域和时间间隔以验证连接是否仍处于活动状态。

为此,请在 sqlnet.ora 文件中添加以下行。

 NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)NAMES.DEFAULT_DOMAIN = LOCALDOMSQLNET.EXPIRE_TIME = 30 

重要的提示

定义 NAMES.DEFAULT_DOMAIN 时,您将始终必须使用完全限定的 TNS 名称。如果您对使用不感兴趣,可以将其删除

在配置中另一个非常重要的文件是 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 数据库实例的链接服务器

创建链接服务器最方便的方法肯定是通过 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)的网络层的方法,最后介绍了链接服务器的测试及查询目标数据库实例的方法。

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯