日期:2014-05-17  浏览次数:20877 次

高分求解!!!Oracle与SQL Server数据同步
一个是Oracle(9i)数据库,另一个是SQL Server(2000)数据库,
两个数据库的表结构不相同,需要同步其中的部分数据,并且是将Oracle的部分数据同步到SQL Server数据库中。

设想了以下几种方法:
1.进行数据库快照,实现同步;
2.写应用程式读取Oracle日志,然后解析日志,再重新组装SQL语句,操作SQL Server数据库;
3.比对需要同步的数据,再进行更新等操作。

但是遇到以下问题:
方法1.只试过从SQL Server同步到Oracle,没做过从Oracle同步到SQL Server。??
方法2.不知道怎样用Java解析Oracle日志??
方法3.好像不太现实。

各位有什么好的办法来实现吗?

请尽量写得详细些,或者能引用其它可用的贴子。谢谢!~~

------解决方案--------------------
你的同步是需要实时同步还是按天同步还是按月同步。

其实这种情况,与SQL Server同步到Oracle是一样的。使用SSIS建一个工程,编辑一个数据导入的包,然后加入SQL SERVER代理做调度就可以了。不过这种方式无法实现实时更新。
------解决方案--------------------
建议你看SQL SERVER目录下帮助文档里面的教程部分,有SSIS的详细介绍与使用指南,你按教程做一遍之后,即可明白SSIS的操作和处理。
当你做好一个工程之后,只需要在SQL SERVER中新建一个代理作业,然后指向你做好的SSIS包,再配置调度计划(如每天3点执行)就可以了。
------解决方案--------------------
SSIS似乎只有在2005及以上版本才有。lz用的是2000,估计DTS也可用。
------解决方案--------------------
DTS
------解决方案--------------------
2000中就是DTS,2005中就是SSIS
------解决方案--------------------
以下几种方式都可以:
1、使用SQL SERVER自带的同步程序
2、使用ORACLE自带的同步程序
3、使用SQL MOBLINK
4、ORACLE直接写SQL SERVER数据同步(SQL SERVER可通过ODBC与ORACLE直接连接)
5、自己开发一个同步程序(我现在就用的这种方式,可靠性最好)

------解决方案--------------------
楼主遇到的情况与SQL Server同步到Oracle是一样的。使用SSIS建一个工程,编辑一个数据导入的包,然后加入SQL SERVER代理做调度就可以了