公司新项目要进行数据同步,在网上找了这部分的资料,零零碎碎很多方面,但是并不实用,我在工作过后把这些总结一下,写个博客做个记录,希望也能帮助到园友。
公司刚接一个项目,客户把一个功能独立于公司系统放入另一个购买的系统中,要求本地放有该功能的数据,并且可以实时查询出购买的系统的数据。
经过分析得到一个方法:
- 使用脚本每天定时执行,把每天的数据使用存储过程放入公司数据库,保证本地有数据。
- 使用视图或者同义词从公司数据库远程连接购买的系统的数据库,进行查询,保证实时查出数据。
在这里先使用视图远程连接数据库查询数据:
我远程连接的开发环境:
1. 两个虚拟机
2. 每台虚拟机有sqlserver
对于远程连接,概念随处可见,这里列出基本的几个:
在需要数据的虚拟机数据库中建立连接
EXEC sp_addlinkedserver @server = '192.168.***.***' --链接的服务器IP
注:ip地址可用dos命令-ipconfig获得,可参考http://jingyan.baidu.com/article/20b68a8875003a796cec621e.html
EXEC sp_addlinkedsrvlogin @rmtsrvname = '192.168.***.***', --登录远程SQL链接服务器IP @rmtuser = 'sa', --登录SQL用户名 @rmtpassword = 'sa' --登录远程SQL密码
接下来就是查询语句
SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库名.dbo.表名' )
现在就可以进行基本的数据查询,然后将查询语句放入视图:
CREATE VIEW view_*** AS SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * from 数据库名.dbo.表名' )
然后查询视图,这里视图只是简单的sql查询做例子,建议对视图不清楚的看一下视图的资料,http://blog.csdn.net/wl_ldy/article/details/5289557
接下来只需要查询视图便可以获得数据
select * from view_***
然后对视图进行查询,实时数据查询就完成了,其他内容后续分享。
若无凌云志,何以逆苍天.