[图]如何使用SQL链接服务器查询外来数据

[图]如何使用SQL链接服务器查询外来数据,第1张

但我们大多数人都没有那么幸运。有时,我们需要的数据并非数据库格式,或者位于不同的服务器上。SQL Server具有足够的灵活性,提供大量你收集数据时所需要的方法。其中最方便的方法之一是使用链接服务器(linked server)直接连接数据。(微软SQL Server 2005 Express Edition也支持链接服务器。)何为链接服务器?简单来说,链接服务器是指与对象链接和嵌入数据库(OLEDB)数据源建立的一个连接。技术上说,OLEDB是一个从一系列数据源中恢复数据的标准微软API。如果这个解释还不够清楚,不用担心。好消息是,它足够灵活,可以连接数据库和非数据库格式,如一个电子表格或电子邮件客户端。简而言之,SQL Server支持任何OLEDB提供程序(也叫做驱动器)。另一个好消息:你可以使用Trnasact-sql或Management Studio来建立连接。建立一个链接服务器后,SQL Server就可以登录到另一台数据库服务器。那表示你可以在一台远程服务器上运行查询。你可以任意使用两种类型的链接服务器查询:特殊链接和永久链接。特殊链接技术上说,你不必使用“链接服务器”这个名词来确定一个特殊查询。那个名词实际上是指一个SQL Server对象。但是,你会经常看到这个名词用来指特殊链接查询。特殊查询打开和关闭一个连接。永久链接服务器一直可用。通过OPENROWSET完成非频繁的链接任务,使用以下语法:OPENROWSET('providername', 'datasource', 'username', 'password', object)OPENROWSET消耗更少的数据库空间。使用合法的Transact-sql语句来 *** 作重新恢复的数据。其自变量不需要加以说明,但要记住的是,datasource是指数据源的完整路径,而不只是一个文件名。此外,provider提供SQL Server需要进入并收集数据的指令。它们专门针对你所访问的外来软件。现在,我们来看一个简单的特殊查询实例,并选择微软Access样本数据库Northwind的Employees表中的所有记录:SELECTFROM OPENROWSET('MicrosoftJetOLEDB40','C:Program FilesMicrosoft OfficeOffice11Office11SamplesNorthwindmdb';'admin';'', Employees)AS EmployeesFromAccess图A显示的是迅速恢复的结果,它要求用户(管理员)拥有适当的许可。(如果你想运行这个查询,一定要把路径更新到Northwindmbd,以与你的系统相适应。)提供程序字符串专门针对数据引擎Jet。AS关键字为SQL Server中的新表提供一个名称。图A:使用OPENROWSET完成外来数据的非频繁查询(Express版)。如果特殊查询返回错误消息,你可能需要激活特殊查询特性。(默认情况下,SQL Server禁用特殊查询。)要激活特殊查询,运行SQL Server配置管理器(SQL Server Express版外围应用配置器),点击外围配置特性(Surface Area Configuration For Features)链接,并查看激活OPENROWSET和OPENDATASOURCE支持(Enable OPENROWSET And OPENDATASOURCE Support)选项。然后,点击OK并关闭实用工具。

1、展开服务器对象-->链接服务器-->右击"新建链接服务器"
2、输入链接服务器的IP或者输入域名(域名会更方便一些,可以更换服务器IP地址)
3、设置链接服务器的安全性(登录的用户名和密码)
4、创建成功后就可以看到了,
5、现在就可以使用链接服务器了,用本地登录SqlServer,新建一个查询,输入
6、Select

From
[链接服务器名][远程数据库名][所有者][表名]
7、比如
Select

from
[3GXXXXNET][cntvs][dbo][tbUsers]
8、如果可以查询到数据说明一切正常喽

首先检查SQL数据库服务器中是否允许远程链接。其具体 *** 作如下:
(1)右击SQL Server 2008选项,选择SQL Server 2008 Management Studio:
(2)打开“服务器属性(Server Properties)” (右键连接名称-属性)
选择“允许用户对该服务器进行远程链接”选项后,检查是否问题已经排除。如果远程链接已经成功,该过程已经完成。若用户发现“提醒错误对话框”依然d出,那么还需要做的是:
(二)检查SQL网络链接配置。其具体 *** 作如下:
打开“SQL服务器配置管理”选项>打开“该节点的SQL服务器网络配置选项”>选择“微软SQL 服务器网络协议”选项(或用户的SQL服务器中为SQL服务器配置网络协议的选项,不同版本的SQL名称可能不同):
设置完成后重启sql服务(net stop mssqlserver net start mssqlserver)
确定“微软SQL服务器网络选项协议”中的TCP/IP协议对服务器来说是有效的。再次检查是否已经可以执行远程链接。若“错误提醒对话框”依然d出,需要进一步检查SQL服务器防火墙选项。
(三)检查SQL服务器防火墙设置 (快捷步骤-直接关闭防火墙(不安全))


果在进行完上两步 *** 作后,用户端计算机仍然无法远程链接到SQL服务器,用户需要做的是对SQL服务器防火墙进行重新配置。在进行这一步 *** 作时,首先找到
SQL服务器上那个端口支持TCP/IP协议。用户可以在SQL服务器防火墙已经处于运行状态下,点击“TCP/IP协议”选择“属性”:

上图中可以看出,这台SQL服务器上支持TCP/IP协议的是1433端口。下一步要做的是在防火墙的配置中允许1433端口支持TCP/IP协议
即可。如果服务器上运行的是Windows
7 *** 作系统,其配置步骤为(其他微软 *** 作系统的做法类似),打开“控制面板”选择“Windows防火墙”选项:
选择“高级设置”后,在右边菜单栏中找出“具有高级安全选项的Windows防火墙”并将其打开。打开后会发现在左边菜单栏中有“入站规则(Inboud Rules)”选项。将该选项打开,并在右边菜单栏中选择“新建规则(New Rule)”选项:
打开“新建规则”选项后,利用“新内置绑定规则向导”为1433端口配置“内部绑定协议”配置为适用于TCP/IP协议即可。(前提是,需要完成该步骤以前所述的所有步骤),根据下面的几幅图为1433端口配置适用于1433端口即可:
以上全部都没问题了之后打开SQL2008,输入远程服务器名或IP、登录名及密码就可以连接到远程服务器上了。

以sqlserver2000为例。

一、在本机电脑打开sql server 2000的企业管理器;

1、新建SQL注册

2、添加本站的SQL数据库所在服务器IP,注:由于购买的数据库类型不同所在服务器IP也会不同,请在数据库管理的基本信息中查看,以保证正确。

3、选择第二项“系统管理给我分配的SQL server登录信息”

4、输入您在本站开通的MSSQL数据库的用户名和密码

5、存放位置,没必要修改,当然也可以选第二项新建一个组

6、点完成后将进行远程数据库连接,如果刚才所设置的参数正确并且本机的防火墙充许了1433端口将会连接成功。

二、打开本机电脑上的“开始-Microsoft SQL Server 2000 -企业管理器”在SQL2000企业管理器中会看到刚才新注册的数据库和本站服务器IP

1、双击前面的+号进行远程数据库服务器连接,连接成功后会看到数据库结构

2、点开 数据库 前面的+号将展开远程服务器上的数据库列表,从中找到数据库

3、至此已经成功连接到远程数据库,就可以像在本机 *** 作一样去管理数据库了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12628168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存