Foxtable(狐表)用户栏目专家坐堂 → 求助:如何实现远端数据服务出现故障时候,项目能够使用本地数据库,当服务恢复后,本地数据同步到远端服务器上,同时将更新后的数据同步到本地数据库,实现两个数据同步更新!


  共有2872人关注过本帖树形打印复制链接

主题:求助:如何实现远端数据服务出现故障时候,项目能够使用本地数据库,当服务恢复后,本地数据同步到远端服务器上,同时将更新后的数据同步到本地数据库,实现两个数据同步更新!

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:如何实现远端数据服务出现故障时候,项目能够使用本地数据库,当服务恢复后,本地数据同步到远端服务器上,同时将更新后的数据同步到本地数据库,实现两个数据同步更新!  发帖心情 Post By:2014/9/22 17:13:00 [只看该作者]

求助:如何实现远端数据服务出现故障时候,项目能够使用本地数据库,当服务恢复后,本地数据同步到远端服务器上,同时将更新后的数据同步到本地数据库,实现两个数据同步更新!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/22 17:14:00 [只看该作者]

 比较复杂,你驾驭不了。

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜) 比较复杂,你驾驭不了。  发帖心情 Post By:2014/9/22 17:15:00 [只看该作者]

求有点甜老师指导指导
因为前几天求助的项目 今天突然遇见了服务器不能打开 项目不能使用了 故求解决办法!


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/22 17:18:00 [只看该作者]

 1、做一个同样结构的access数据源;

 

 2、在BeforeConnectOuterDataSource事件判断,是否能连接,如果不能连接,就连上1的数据库

 

http://www.foxtable.com/help/topics/0682.htm

 

 3、想办法,把access的数据合并到远程数据库(这个比较麻烦)


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)?1、做一个同样结构的access数据...  发帖心情 Post By:2014/9/22 17:25:00 [只看该作者]

有点甜老师   在项目中使用下面的内容是否可以实现你说的第三点思路呢?


但是感觉这个思路比较不便于操作



FTP上报数据

如果没有条件搭建SQL Server服务器,那么也可以考虑通过FTP实现远程数据上报。

1、将需要上报的数据生成一个Access文件,并上传到FTP服务,例如将当天订单上报:

'导出当天订单

Dim 
ex As New Exporter
ex
.SourceTableName = "订单" 
ex.FilePath = 
"c:\temp\gd.mdb" 
ex.Filter = 
"日期 = #" & Date.Today & "#"
If 
FileSys.FileExists(ex.FilePath) Then '如果目标文件已经存在
    FileSys.DeleteFile(ex.FilePath) 
'则删除之
End If

ex
.Export()
'上传到FTP服务器

Dim 
ftp1 As new ftpclient 
ftp1.host=
"ftp.baidu.com" 
ftp1.Account = 
"foxtable"
ftp1.password = 
"168168"
ftp1.upload(ex.FilePath,"/gd.mdb",True'上传

2、总部接收数据的代码:

'下载上报数据
Dim 
ftp1 As new ftpclient 
ftp1.host=
"ftp.baidu.com" 
ftp1.Account = 
"foxtable"
ftp1.password = 
"168168"
If 
ftp1.FileExists("/gd.mdb") = False Then
    MessageBox
.Show("广东分公司还未上报今天数据","提示"
)
    Return 
End If

ftp1.Download(
"/gd.mdb","c:\temp\gd.mdb"'下载ftp上的上报文件
ftp1.Delete(
"/gd.mdb"'下载成功后删除ftp上的上报文件.
'合并上报数据

Dim 
mg As New Merger
mg
.SourcePath = "c:\temp\gd.mdb"
mg
.SourceTableName = "订单"
mg
.DataTableName = "订单"
mg
.Merge()
Filesys.DeleteFile(
"c:\temp\gd.mdb"'合并后删除下载文件

 

[此贴子已经被作者于2014-9-22 17:26:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/22 17:28:00 [只看该作者]

 不同,你是要合并数据,你要用代码把access各个表的数据,合并到sqlserver数据库中去,不是单纯的上传文件。


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜) 不同,你是要合并数据,你要用...  发帖心情 Post By:2014/9/22 17:40:00 [只看该作者]

有点甜老师 是不是用狐表中的高速合并啊?还是用代码具体一个一个的写?

求代码例子写法 

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/22 17:50:00 [只看该作者]

 简单的,就是用高速合并;如果没有额外要求,可以直接用代码

 

 http://www.foxtable.com/help/topics/0685.htm

 


 回到顶部