以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  双数据库同步问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=190196)

--  作者:ycs5801
--  发布时间:2024/1/23 19:33:00
--  双数据库同步问题
在个人的笔记本上安装了sql server数据库并通过weui录入数据,在阿里云上安装了另一个格式相同的sql server数据库,在笔记本上录入数据之后,将笔记本连入互联网,怎样将笔记本上sql数据库存储的数据传送或者同步到阿里云上的sql中?
--  作者:有点蓝
--  发布时间:2024/1/23 20:37:00
--  
每个表增加一个[更新时间]列,到datacolchanged事件更新这个时间列为最新值。笔记本连入互联网,连接2个数据源,然后把[更新时间]列>上一次同步时间的所有数据更新过去,类似:http://www.foxtable.com/webhelp/topics/1533.htm

比如
dim 上一次更新时间 as date = #01/22/2024#
For Each dr1 As DataRow In DataTables("数据源1表A").Select("[更新时间] > #" & 上一次更新时间 &"#")
    Dim dr2 As DataRow = DataTables("数据源2表A").find("编号=\'" & dr1("编号") & "\'")
if dr2 is nothing then ‘如果没有这个编号数据,就新增
dr2  = DataTables("数据源2表A").AddNew()
end if
    
For Each dc As DataCol in DataTables("
数据源1表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
    
Next
Next

--  作者:ycs5801
--  发布时间:2024/1/23 21:16:00
--  
问题一:我这个操作全程都是在web状态下,基本都是对sql的后台数据进行直接操作,是不是不适合用datacolchanged这个进行操作?
问题二:如果不对更新时间进行判断,是不是会 造成判断时间过长?
问题三:如果我要进行同步操作,即把数据源一和数据源二中相同的表数据进行比对,把互相没有的数据同步到自己的表中,该怎么操作才能效率高?

--  作者:有点蓝
--  发布时间:2024/1/23 21:31:00
--  
1、改为在【sql的后台数据进行直接操作】的代码中处理
2、没看懂有什么关系
3、就是2楼的用法,没有效率更高的

--  作者:ycs5801
--  发布时间:2024/8/15 10:21:00
--  
可以做到监控某行,如果行中的任一数值发生变化,则将“更新时间”列内容修改为当前时间?有的时候可能是后台数值更新
--  作者:有点蓝
--  发布时间:2024/8/15 10:24:00
--  
到datacolchanged事件处理。
--  作者:ycs5801
--  发布时间:2024/8/15 10:35:00
--  
datacolchanged可以监控到后台吗?比如sql语言进行的修改
--  作者:有点蓝
--  发布时间:2024/8/15 12:22:00
--  
不能。

既然使用sql语言进行的修改,直接在这个sql里更新这个时间不就行了