vc++ ado 多线程 访问远程数据库的疑惑。
我在做一个进销存服装管理系统,2个店子都是用adsl+猫上网。店子之间要可以互相访问对方的数据库,查看对方的数据,方便调货。同时老板要能在外地可以浏览数据(不需要修改数据)。
我租用了一台远程数据库服务器,但是直接访问速度很慢。
为了解决这个问题,我的想法是,在本地建立数据库,在本地增删改,然后把sql语句保存到本地文件(或者本地access数据库里,不知道可行么?)里,然后我在程序里另外开一个线程,然后这个线程往远程服务器数据库执行这些保存在本地文件的sql语句。
这样就实现同步了,而且用户使用起来应该不会觉得很卡。
相当于后台提供一个服务,一直对远程数据库操作
前台和后台一起访问的数据只有那个sql文件
-------------------------------------------------------------------------------------
我的疑问是访问远程数据库的时候要不要用到什么com的列集,散集,什么线程池的概念;还有如何保证我的线程对远程数据库操作失败的情况下,保证数据的准确性。需要用到事务么?BeginTrans,CommitTrans,RollbackTrans,这些要用到么?如何用呢?
------解决方案--------------------这个是数据库同步问题,可以通过数据库复制技术来解决的。
因为,你现在用程序解决,这个比较麻烦,你得考虑这种问题,什么线程,事务等等的。
------解决方案--------------------不知道你用的是什么版本,这个是sql server 2008R2版本的。
SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表
http://blog.csdn.net/sqlserverdiscovery/article/details/17059073
------解决方案--------------------
这个不太准确,只要你有公网的ip地址,就可以同步的,不需要在域环境中,可以是本地到远程,也可以从远程同步到本地,都可以。