现在有一个需求:将数据库的数据集中到一起,再由其他应用程序访问集中之后的数据。其中当数据库的记录发生变化时,集中之后的数据也要更新,可以不是实时,但有一定频率,比如30分钟更新一次。
问题是:数据库是oracle9i,sybase11,sqlserver2000,不允许改动数据库服务器(加触发器是没戏了,服务器上部署程序也不行),不允许拥有高权限(读日志也完了)
哪位高手给指点一下,有没有好的方案,谢谢了
有很多的ETL工具做类事情,推荐Pentaho中的kettle,Petaho是java开发的开源BI解决方案,kettle是其工具集中的一部分,专做数据集成
不能加trigger的话,就只能每隔30分钟将所有数据导出了
导出成csv,然后导入到一个集中的数据库
用程序写定时任务,可以考虑JDK的Timer,TimerTask或者直接用Quartz
可以写个平台...
里面先读取数据,然后再插入,可以自己定义线程,事务控制防止数据错误