- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过MS SQL Server 链接服务器访问远程数据
通过MSSQLServer链接服务器访问远程数据在MSSQLServer中访问其他远程数据库的数据可以通过OPENQUERY(Transact-SQL)函数来实现。首先创建一个链接服务器,然后像普通表一样维护远程的数据。 mssqlserver链接服务器的创建方法:EXECsp_addlinkedserver lkTest, , MSDASQL, NULL, NULL, DRIVER={SQLServer};SERVER=192.168.0.224;UID=sa;PWD=sa; 检查链接服务器的可用性:select*fromopenquery(lkTest,select*frompubs.dbo.jobs) 如果远程的mssqlserver数据库无法访问,报错:[Microsoft][ODBCSQLServerDriver][SQLServer][OLE/DBproviderreturnedmessage:[Microsoft][ODBCSQLServerDriver][SQLServer]用户sa登录失败。原因:未与信任SQLServer连接相关联。]检查网络、sa密码都无误后仍无法连接,可以尝试安装mssqlserver的sp3来解决。 OPENQUERY()函数介绍对给定的链接服务器执行指定的传递查询。该服务器是OLEDB数据源。OPENQUERY可以在查询的FROM子句中引用,就好象它是一个表名。OPENQUERY也可以作为INSERT、UPDATE或DELETE语句的目标表进行引用。但这要取决于OLEDB访问接口的功能。尽管查询可能返回多个结果集,但是OPENQUERY只返回第一个。 语法OPENQUERY(linked_server,query) 参数linked_server表示链接服务器名称的标识符。query在链接服务器中执行的查询字符串。该字符串的最大长度为8KB。 备注OPENQUERY不接受其参数的变量。在SQLServer2000和更高版本中,OPENQUERY不能用于对链接服务器执行扩展存储过程。但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。例如:EXECSeattleSales.master.dbo.xp_msver 权限任何用户都可以执行OPENQUERY。用于连接到远程服务器的权限是从为链接服务器定义的设置中获取的。 示例A.执行SELECT传递查询以下示例将使用“用于Oracle的Microsoft访问接口”针对Oracle数据库创建一个名为OracleSvr的链接服务器。然后,该示例针对此链接服务器使用SELECT传递查询。 注意:本示例假定已经创建了一个名为ORCLDB的Oracle数据库别名。EXECsp_addlinkedserverOracleSvr, Oracle7.3, MSDAORA, ORCLDBGOSELECT*FROMOPENQUERY(OracleSvr,SELECTname,idFROMjoe.titles)GO B.执行UPDATE传递查询 UPDATEOPENQUERY(linked_server,SELECTtitle,contentFROMmsgsWHEREid=1)SETtitle=newTitle,content=newContent; C.执行INSERT传递查询INSERTOPENQUERY(linked_server,SELECTtitle,contentFROMmsgs)VALUES(title,content); D.执行DELETE传递查询以下示例使用DELETE传递查询删除。DELETEOPENQUERY(OracleSvr,SELECTnameFROMjoe.titlesWHEREname=NewTitle); 参考sp_linkedservers 检查当前链接服务器,直接执行即可看到结果sp_addlinkedserver 配置链接服务器 企业管理器中管理链接服务器
原创力文档


文档评论(0)