必须要求server B进行触发器安装,不然无法解决数据一致和同步。 因为是跨表操作,所以不能直接使用事务,所以当B进行操作时,A必须等待。还有,如果你的A表和B表是一样的,我觉得没有必要进行什么这样的操作, 既然你有a的READ RIGHT, YOU CAN JUST USE IT!!! The more usage you can use other way.
在 SQL Server 上是通过 DTS, 启动 Managerment 中的 SQL Server Agent, 建立成功后在相应的Database 下将出现类似Windows共享式的手型图标。 中间的过程也很简单,并且绝对能够满足你的要求。其它的你自己解决吧!
試試用這種語法: insert into Table1 select Table2.* from Table2,Table1 where Table1.ID not in (select ID from Table2)至于跨數據庫的操作連接,你可以用樓上的,也可以用SQL中的一個函數,不過 這個函數不是很靈活,在語法上有些限制。
记录每次处理后的ID
where ID> Old_ID
1、 windindance(风舞轻扬) 的方法很好,你有自增长的id,
第次记录这人id就可以了,根据它的判断是最好的,
但用户增加的数据可以,用户修改的数据就到不了A服务器了,这是个很大的弱点。
2、你可以增加一个日期时间,记录每条记录的修改或创建时间,where mdatetime>old_datetime
向A里更新数据时,结合id,修改用户修改过的数据,大于old_id的,增加新记录,小于的修改数据。
try
TableB.DisableControls;
//...
//DoSomethingHere
finally
TableB.EnableControls;
end;
由于TableB的记录指针在移动时不必考虑刷新相应的控件,速度可以大大提高
不过这并不是一种好办法,
但以你目前的这种情况,只有些办法可行了,
(但这种方法真的不可取不到万不得一最好不使用)最好的办法建议你和B服务器的公司协商一下,
让他们加个字段是.
因为是跨表操作,所以不能直接使用事务,所以当B进行操作时,A必须等待。还有,如果你的A表和B表是一样的,我觉得没有必要进行什么这样的操作,
既然你有a的READ RIGHT, YOU CAN JUST USE IT!!! The more usage you can use other way.
建立成功后在相应的Database 下将出现类似Windows共享式的手型图标。
中间的过程也很简单,并且绝对能够满足你的要求。其它的你自己解决吧!
insert into Table1
select Table2.* from Table2,Table1
where Table1.ID not in (select ID from Table2)至于跨數據庫的操作連接,你可以用樓上的,也可以用SQL中的一個函數,不過
這個函數不是很靈活,在語法上有些限制。