|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-03-12
做“集成”商是吧?这种给别人“擦屁股”的事情很麻烦的。
最笨的方法——定时检查 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-12
bookong 写道 做“集成”商是吧?这种给别人“擦屁股”的事情很麻烦的。
最笨的方法——定时检查 同意楼上,我们的系统也是这么做的,和其他产品集成,最难弄就是牵涉到数据同步问题,其他厂商的代码又不能改,那就只好麻烦点自己去做定时检查,具体怎么检查差异,还要看具体的表结构 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
侦听+快照....
先把数据库的结构照下来存在数据字典表中 每过一段时间侦听一下数据库结构.... 把两个数据比一下 如果有更新,数据库字典升级. |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
抛出异常的爱 写道 侦听+快照.... 先把数据库的结构照下来存在数据字典表中 每过一段时间侦听一下数据库结构.... 把两个数据比一下 如果有更新,数据库字典升级. 个人倾向于加触发器。 侦听+快照------开销也太大了吧。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
以前用ofbiz(apache的一个开源项目)中的实体引擎有检测数据库是否变化的功能,如与配置文件中有差别会自动加入新增字段,可以看下实现方式,不过这个可能会和具体数据库相关,建议找一下这方面的现有工具,自己做可能没那么多精力。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
快照+定时检查,这个没有什么太好的办法,肉长在别人身上.如果你想实时地获得数据的话,可以写proxy,但是这个工作量就大了.
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
呵呵,似乎也没什么好的办法。
擦屁股的也不容易啊 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
gaoran2008 写道 抛出异常的爱 写道 侦听+快照....
先把数据库的结构照下来存在数据字典表中 每过一段时间侦听一下数据库结构.... 把两个数据比一下 如果有更新,数据库字典升级. 个人倾向于加触发器。 侦听+快照------开销也太大了吧。 .....侦听表结构不像你想的那么大 有谁会开上万张表呢? 有几百张表加上字段.....有1W个字段了不得了. 而且....关键字like 'DY_%' |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
你这个问题本身决定了中间层插不进去,只能从数据库层想办法
查一下 ETL 之类的资料 使用一现有的工具或按这些工具的思路自己开发 其实每个表的触发器大同小异,可以自己分析数据字典用工具生成的 不支持触发器的就只能快照了 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-13
newfan 写道 最近在做一个项目,和其他厂商的产品做接口,我们这边需要知道其他产品的数据变化来做相应的处理。
然而其他厂商不会对自身产品修改,他们的数据库结构也不会修改。 我们面临着众多产品,众多数据库中的数据变化,查了很多东西,没有一个好的思路。 如果用触发器,就要为所有的表建立一个触发器和一个变化表,太麻烦。 网上还有说compass、hibernate的orm能感知数据变化,我没有看太多,不过我想这些应该是建立在中间层的东西,就是说要其他厂商改变他们的产品结构,不知道我说的对不对。 请教各位,大家有什么好的办法吗? 通过DatabaseMetadata动态创建所有触发器和变化表,最简单,又靠谱,还符合广大dba的习惯。 |
|
| 返回顶楼 | |








