sqlserver 微信 读取_SQL Server教程:读取第三方数据库的数据_sqlserver

现在需要在一台服务器(A)上的数据库(Master)里访问另外一台服务器(B)的另外两个数据库(NZ 和 AU)。AU 和 NZ 是 站的部分实时数据,目前某一步操作的REPLICATION方案是从服务器B到A,AU / NZ 的表结构同Master 数据结构基本一致。

这样一来,当把AU Replication 到 Master 后,在把 NZ  Replication 到 Master , Master 里的就只剩 NZ 的数据了。反过来就只有AU的了,具体的Replication 是怎么一回事,我也不懂,也没有细看。

如果能在Master 里直接操作 AU 和 NZ 就好了。

SQLServer 有函数:

http://www.gaodaima.com/37525SQL Server教程:读取第三方数据库的数据_sqlserver

OPENROWSET 和 OPENDATASOURCE

这两个函数不但能实现从另外的数据库读数据,而且还能从EXCEL、TXT, oracle, ODBC 等读数据。

–启用Ad Hoc Distributed Queries:

exec sp_configure ‘show advanced options’,1

reconfigure

exec sp_configure ‘Ad Hoc Distributed Queries’,1

reconfigure

SELECT *

FROM OPENDATASOURCE(

‘SQLOLEDB’,

‘Data Source=SQLServerName;User ID=sa;Password=xxx’

).Help.dbo.Help_Category

select * from openrowset( ‘SQLOLEDB ‘, ‘SQLServerName’; ‘sa’; ‘xxx’, Help.dbo.Help_Category )

–关闭Ad Hoc Distributed Queries:

exec sp_configure ‘Ad Hoc Distributed Queries’,0

reconfigure

exec sp_configure ‘show advanced options’,0

reconfigure

但是,这样写着有点复杂,而且不便于维护,假如数据库密码改变了,就需要把一个一个把密码改正。

Oracle 里有 DB Link, 而且语法非常简洁。

查了一下帮助,SQLServer 里有 “链接服务器”  这个东东。要创建 链接服务器需要用到SQLServer 的一个系统存储过程:

sp_addlinkedserver [ @server= ] ‘server’ [ , [ @srvproduct= ] ‘product_name’ ]

[ , [ @provider= ] ‘provider_name’ ]

[ , [ @datasrc= ] ‘data_source’ ]

[ , [ @location= ] ‘location’ ]

[ , [ @provstr= ] ‘provider_string’ ]

[ , [ @catalog= ] ‘catalog’ ]

exec sp_addlinkedserver @server= ‘XLING’ , @srvproduct = ”, @provider = ‘SQLNCLI’ , @datasrc = ‘SQLServerName2’

执行后,可以在 Sqlserver Management Studio 的对象资源管理器里的 服务器对象 -》 链接服务器 里看到看这个 XLING

然后就可以用:

SELECT * FROM XLING.PricemeHelp.dbo.Help_Category

这里的XLING就是指向数据库SQLServerName2的链接服务器,从上面的SELECT可以看出,写的依然复杂。

SQLServer 也有,而且语法差不多:

CREATE SYNONYM dbo.Help_Category_NZ FOR XLING.PricemeHelp.dbo.Help_Category

执行后,就可以用:

SELECT * FROM Help_Category_NZ

了!

支付宝 赏一听可乐吧~

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树SQL高级技巧CTE和递归查询32219 人正在系统学习中 相关资源:诗词鉴赏大全软件-教育文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月16日
下一篇 2020年11月16日

相关推荐