![[图]如何使用SQL链接服务器查询外来数据,第1张 [图]如何使用SQL链接服务器查询外来数据,第1张](/aiimages/%5B%E5%9B%BE%5D%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8SQL%E9%93%BE%E6%8E%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9F%A5%E8%AF%A2%E5%A4%96%E6%9D%A5%E6%95%B0%E6%8D%AE.png)
但我们大多数人都没有那么幸运。有时,我们需要的数据并非数据库格式,或者位于不同的
服务器上。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并关闭实用工具。开始菜单-->Microsoft SQL Server-->客户端网络实用工具
在 "常规" 页面:
左侧 "禁用协议" 里选中 "TCP/IP" 再点击中间的 "启用" 再 "确定"
重启SQL-Server!你好的!
这个简单的!
找到server object 服务对象点开!
linked server 链接服务点开!
provider 提供者!
选择,创建类似的dblink即可!
欢迎追问!
希望日后探讨!
首先服务器必须先开启了数据库的远程访问权限,你可以在本地测试一下,即在命令行下
telnet
服务器ip
端口
常见的端口比如sql
server的1433,mysql的3306,如果输入回车后是黑屏,说明数据库是开放的,之后你用数据库的管理器比如sql
server的management
studio或mysql用的navicat
for
mysql连接试试就知道了。
展开服务器对象-->链接服务器-->右击"新建链接服务器"
输入链接服务器的IP或者输入域名(域名会更方便一些,可以更换服务器IP地址)
设置链接服务器的安全性(登录的用户名和密码)
创建成功后就可以看到了,如下图
5
现在就可以使用链接服务器了,用本地登录SqlServer,新建一个查询,输入
Select From [链接服务器名][远程数据库名][所有者][表名]
比如
Select from [3GXXXXNET][cntvs][dbo][tbUsers]
6
如果可以查询到数据说明一切正常喽
评论列表(0条)