将所有数据从 Oracle 11.2 迁移到 SQL Server 2012 的最佳方法是什么?

What is the best way to migrate all data from Oracle 11.2 to SQL Server 2012?

我正在尝试的方法是编写一个动态脚本,该脚本将在 SQL 服务器中生成具有类似数据类型的 Oracle 中的镜像表。然后再次编写动态脚本将记录插入 SQL 服务器。我看到的挑战是不兼容的数据类型。有没有人遇到过类似的情况?我是一名 sql 开发人员,但如果有人可以分享他们的类似工作,我可以学习 python。

您是否尝试过 SSMS 中的 "SQL Server Import and Export Wizard"?

即如果您创建一个空的 SQL 服务器数据库并在 SSMS 中右键单击它,那么 "tasks" 菜单选项之一是 "Import Data...",它会启动 "SQL Server Import and Export Wizard"。这构建了一个一次性的 SSIS 包..如果你想重复使用,可以保存它。

"Microsoft OLE DB Provider for Oracle" 有一个数据源选项。

您可能还有更好的 Oracle OLE DB 提供程序可供尝试。

需要 Oracle 客户端软件可用。

我还没有真正尝试过这个(Oracle 到 SQL*服务器)所以不确定是否合理。

有多少个表、列?

Oracle DB 可能还有视图、触发器、约束、索引、函数、包、序列生成器、同义词。

我使用了链接服务器,从 Oracle 中的 dba_tab_columns 获得了 table 的所有元数据。编写脚本以根据元数据创建 tables。我需要使用 SSIS 脚本任务来保存用于源代码管理的创建 table 脚本。然后我写了sql脚本从oracle中插入数据,通过脚本处理类型差异。