数据库如何跨服务器连接,第1张

数据库使用比较简单,如ceshi数据库想使用Finance2014的A表,则使用SELECT FROM Finance2014dboA

服务器的使用,相对复杂一些 需要先连接服务器

EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','1921682249'EXEC sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','12345'

再设置保证存储过程能够使用

EXEC sp_serveroption @server='srv_lnk',@optname='rpc',@optvalue='TRUE'EXEC sp_serveroption @server='srv_lnk',@optname='rpc out',@optvalue='TRUE'

4

再跨服务器调用数据库表和存储过程如:

SELECT FROM srv_lnkAdboB  其中A为数据库B为表

EXEC srv_lnkAdboB 其中A为数据库B为存储过程

请问垮服务器没?如果没在一个服务器上,就使用链接服务器,实现跨库查询比较容易,如果在同一个服务器上,实现跨库查询,就使用select from dbnamedbotable1

opendatasource('sqloledb,'Data Source=服务器地址;UserID=sa;Password=pass@word1 ')数据库名字dbo[表名] 这是跨服务器的调用,如不是不是跨服务器,直接数据库名dbo表名

1建立两个数据库连接,查询的时候分别调用。

2使用dbnametablename的方式来写from,或者join(前提是你用于连接MYSQL的帐号必须同时可以访问这两个库)

例如:dba,dbb

select from dbatable1 as t1

join dbbtable1 as t2 on t1id = t2id

  方法一:

  select from servernamedbotablename

  方法二:

  select from OPENDATASOURCE(

'SQLOLEDB',

'Data Source=远程ip;User ID=sa;Password=密码'

)库名dbo表名

where 条件

  select top 100 from OPENDATASOURCE(

'SQLOLEDB',

'Data Source=1921686100;User ID=sa;Password=1234'

)[zhaolx-test]dboTGongwen

  where gid <5

  insert into OPENDATASOURCE(

'SQLOLEDB',

'Data Source=1921686100;User ID=sa;Password=1234'

)[zhaolx-test]dbot_aaa (id ,name )values('001','Tom')

  select top 100 from OPENDATASOURCE(

'SQLOLEDB',

'Data Source=1921686100;User ID=sa;Password=1234'

)[zhaolx-test]dbot_aaa

楼主好,想实现这个的话,可以使用SQL自带的VS开发工具,做一个ETL包,然后部署发布到服务器数据库上,添加作业,设定同步时间即可。跨局域网和跨服务器基本上在SQL连接中,本身就不太好解决,需要有服务器之间的链接访问权才可以建立连接。但是ETL不受这一点限制。唯一不足的地方在于,如果你有100张表数据需要同步,做ETL包是个麻烦事,同一个模式,你要做非常多的ETL流程,不管是做在一个包中也好,多个包中也好,都会显得比较繁琐。但是好处是不受服务器限制,另外要注意,如果同步的表有外键,那么需要在做ETL的时候添加执行顺序,才能确保表数据同步成功的。如果想了解更多可加我,646443736

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 数据库如何跨服务器连接

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情