麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
752
2023-04-19
*** 链接 *** 数据库实战
概述
在某些情况下,我们希望从外部数据库中获取数据,而无需在应用程序中进行额外编码,只需编写一个 T-SQL 查询即可为我们完成所有工作。这就是微软提供的“链接服务器”功能的原因。
但默认情况下,链接服务器无法连接到 *** 数据库。本文中我们将展示如何安装必需的库和工具,然后我们将配置 *** 数据库(称为 *** Net)的网络层,以最终能够创建链接服务器并查询目标数据库实例。
*** 数据库客户端的安装
首先,停止 *** 实例。如果实例正在运行,安装不会失败,但是在第一次调用 Linked Server Provider 时,实例会挂起并且不会响应!本文中我想连接一个 *** Database 11g 实例。所以我将安装一个 *** Database 11g 客户端,但您也可以尝试安装最新版本。源文件可以在*** 的网站上下载。它采用 ZIP 文件的形式。下载解压缩并打开解压缩的文件夹。
这将打开以下对话框。选择«自定义»。
选择您使用的适当语言。
然后选择安装的目标文件夹。我个人更喜欢将其与操作系统分区分开,并且我遵循 *** 中的常规路径。
现在让我们选择适当的组件。
数据库实用程序、SQL*Plus 和 *** 调用接口是在出于任何原因添加外部开发的情况下选择的。它们可能没有用。*** Net是 *** 数据库的网络层。这将允许我们在名为 tnsnames.ora 的文件中配置“路由”选择了*** ODBC Driver、*** Provider for OLE DB 和 *** Provider for .NET,以允许 *** 通过不同的方式联系 *** 数据库。
通过单击“下一步”按钮,您将看到以下界面:
单击“结束”并开始安装……
我们完成了。
让我们连接到 *** 实例并检查它是否看到新安装的提供程序:
配置 *** Net(添加对目标 *** 实例的引用)
配置文件的位置
由于我们在 I:\app\*** 中安装了 *** 软件,因此网络配置文件将位于 I:\app\***\product\11.2.0\client_1\network\admin 中。
编辑 *** 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
您将收到类似于以下内容的文本:
创建到 *** 数据库实例的链接服务器
使用 SSMS
创建链接服务器最方便的方法肯定是通过 *** Management Studio。为此,请连接到 *** 实例并找到 « Server Objects »,单击一下,您将找到 « Linked Servers »。如果您右键单击它,您将能够创建一个新的链接服务器。
如下提供连接信息。作为数据源,您将使用 tnsnames.ora 文件中使用的名称(带或不带域名)。
在配置的安全部分,根据您的环境配置,您将选择适当的方法用于远程身份验证。
您还可以查看链接服务器设置以根据您的环境进行调整。
单击“确定”后,将创建链接服务器并将其添加到“链接服务器”列表中,如下所示。
我们可以测试链接服务器。为此,请右键单击它并选择«测试连接»。
如果一切都配置好,您将看到以下对话框:
您还可以通过查看树视图查询的表和视图:
最后,您可以运行以下查询:
SELECT * FROM OPENQUERY([DBLNK_TEST] , 'select sysdate from dual') ;
小结
本文首先介绍了ORACLE客户端的安装过程,然后介绍了配置 *** 数据库(称为 *** Net)的网络层的方法,最后介绍了链接服务器的测试及查询目标数据库实例的方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。