RT,谢谢了
解决方案 »
- 一个Hello.java很基础的问题
- JAVA是否需要轉換exe比用戶使用呢?
- 如何使用Inputstream读取mdb问题
- 让变量X == X 输出结果为 false
- 第一次遇到这么奇怪的问题
- 想做个网站,不知道怎么入手,请教!
- 编译java代码 出现 could not find main class. programm will exit. 是什么问题?
- float型数据怎么转换成字符串
- 为啥不能画???不用APPLET, 我想在Frame窗口应用程序下怎么画
- 为什么我在JBuilder中写好的.Java的程序,编译通过,但用c:\java source没法执行,用dos下 javac编译还有错
- 为什么客户端和服务器端都收不到消息?
- db2jcc_license_cu.jar和 db2jcc_license_su.jar区别
建时间戳字段,每更新就重置时间为系统时间。delete不能物理删只能逻辑删,否则感知不到。
时效要求高的不用trigger很难做到同步。时效不高的比如一小时或一天统计一次的那些,可以利用数据库的任务计划来做。(Oracle的Schedule、Mysql的Event、DB2、SqlServer都支持任务计划)。
可以用Spring或者AspectJ对所有相关代码拦截就可以了。如果还有其他程序update/delete/insert,除了firebird之外,基本不太可能。
否则就麻烦了,只能不停的扫描数据库,不过数据库还吃得消不
不允许建trigger是有道理的,对于大量DML的操作,有trigger存在的情况下,DML效率会降低很多。
但加字段不一样,加个字段对DML的影响不是很大。
不过如果你们那里是物理删除(delete语句不是update某个标志),要同步也很难办的。
增量更新你得有取得变化的数据的条件,时间戳就是最常利用的条件。
否则没有条件只有全备份了。
顺便问下,你们什么数据库?