Foxtable(狐表)用户栏目专家坐堂 → 求助:采用SQL数据源编写项目,怎么实现项目关闭时,将SQL数据导出ACC数据保存到项目下,当网络不能连接SQL时候,项目直接连接ACC,当网络恢复后,项目将ACC数据比较SQL数据 新增的就自动写入SQL


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

主题:求助:采用SQL数据源编写项目,怎么实现项目关闭时,将SQL数据导出ACC数据保存到项目下,当网络不能连接SQL时候,项目直接连接ACC,当网络恢复后,项目将ACC数据比较SQL数据 新增的就自动写入SQL

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:采用SQL数据源编写项目,怎么实现项目关闭时,将SQL数据导出ACC数据保存到项目下,当网络不能连接SQL时候,项目直接连接ACC,当网络恢复后,项目将ACC数据比较SQL数据 新增的就自动写入SQL  发帖心情 Post By:2014/12/10 23:46:00 [只看该作者]

求助:采用SQL数据源编写项目,怎么实现项目关闭时,将SQL数据导出ACC数据保存到项目下,

当网络不能连接SQL时候,项目直接连接ACC,

当网络恢复后,项目将ACC数据比较SQL数据 新增的就自动写入SQL

 

以下代码我参照帮助写的  不当之处还请各位老师多多多指导!

拟先判断IP是否通畅,如果通就采用SQL数据,如果不同就采用本地ACC

If e.Name = "分级保护" Then
    If Network.Ping("192.168.1.100",1000) = False  Then '如果第一个IP无法接通
        MessageBox.Show("当前网络不通畅,无法连接SQL服务器数据库,将使用本地ACC数据进行临时使用,待网络通畅后,同步ACC数据到SQL服务器中,请知晓!")
        e.C & e.ProjectPath & "分级保护系统.mdb;Persist Security Info=False"
    Else
        MessageBox.Show("当前网络通畅,采用SQL数据库,请知晓!")
        e.ConnectionString = e.ConnectionString.Replace("192.168.1.100")
    End If
End If

 

需要解决的问题如下:

1、如何在项目关闭后自动将SQL数据导出为ACC保存在项目文件夹下

2、如何进行比较ACC数据和SQL数据那些地方做了修改,并且自动同步更新!

3、如何进行网络判断,当网络不通时候,采用本地ACC,网络恢复后自动同步数据到SQL,并且更换到SQL数据库上去

 

求解!

 

 

 

[此贴子已经被作者于2014-12-10 23:56:18编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/12/11 0:51:00 [只看该作者]

个人意见,无法联网,暂停程序操作,不要转本地数据库,否者,失去了远程SQL数据库的真实意义,数据库会紊乱!

 

比如:A增加了数据,但当时并没有提交,B在操作计算、汇总统计这类数据时,得不到真实结果,因此,SQL数据库无法连接时,干脆禁止客户端操作为宜,一年三百六十天,这样的事也不会出现几个小时,购买专业的数据库,也许三年也不会耽误您一回!


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


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

1、把各个表的数据导出到access里面;

 

2、加一列,是否修改,取出各个表修改的行,赋值给sqlserver

 

3、如果数据源是sqlserver,就判断是否有更新,有更新,就操作第二步


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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/12/11 11:13:00 [只看该作者]

代码复杂度也增加很多了。只能用在少量表和数据的情况下

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/12/11 12:17:00 [只看该作者]

我关心的是能不能用的问题,张三入库了,未适时提交,李四查不到,不能出,返过来,张三出库了,结余库存为0,未能适时更新,李四还可以出,怎么办?

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/12/11 12:42:00 [只看该作者]

以下是引用程兴刚在2014-12-11 12:17:00的发言:
我关心的是能不能用的问题,张三入库了,未适时提交,李四查不到,不能出,返过来,张三出库了,结余库存为0,未能适时更新,李四还可以出,怎么办?
首先这种场景不应该在断网情况下使用,技术上解决了,但是还是有可能录入重复。所以这种主要运用在查询信息方面,比如客户信息,历史合同等,可以在断网情况下临时查询。


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5879 威望:0 精华:0 注册:2013/7/29 12:00:00
  发帖心情 Post By:2014/12/11 13:15:00 [只看该作者]

使用动态数据源就可以实现,但仅适用于“不返回数据”的情况,比如数据上报。

 回到顶部