有哪些最合理的方法可以定期将表数据从SQL Server移动到Oracle(在*nix上)?
使用SQL Server Integration Services(SSIS)可能是您最好的选择.如果您不熟悉SSIS,尝试解决问题的最佳方法是使用SQL Server导出向导并让它为您创建一个SSIS包.例如,如果您进入SQL Server Management Studio并右键单击数据库,则选择"任务" - >"导出数据".从那里单击下一步,直到进入"选择目的地"步骤.选择"Microsoft OLE DB Provider for Oracle",然后单击"属性"以定义数据库连接.单击向导时,在"保存并执行"页面上,确保选中"保存SSIS包"复选框,在下一个屏幕上指定保存SSIS包的位置.完成导出向导后,您的数据将被导出,您将拥有一个可以按原样使用的SSIS包,或者进入并调整它以执行更具体的操作.获得SSIS包后,可以通过创建SQL Server代理作业来安排它.
Oracle 异构连接/数据库网关与物化视图,PL/SQL或Java结合使用
SSIS或DTS:两者都可以进行调度,但需要的只是对SQL Server的只读访问权限
Java(可能在Oracle中,但可选择在操作系统中)使用ODBC或SQLJ访问SQL Server,可能还有Oracle
SQL Server计划导出为CSV,Oracle计划从CSV导入
任何其他ETL工具(例如Informatica,Cognos)
可以访问两个数据库的任何无数语言(但需要维护第三个环境以在其中运行应用程序)
调度:
自动/不需要物化视图
Oracle DBMS_JOB/DBMS_SCHEDULER
特定于操作系统(cron,Windows计划任务等)
对于在SQL Server中安排的SSIS,DTS或CSV导出的情况