将数据从 Oracle 移动到 SQL Server 的最简单方法是什么?

Mar*_*tin 15 oracle sql-server migration syntax

我们的一款产品同时支持 Oracle 和 SQL Server 作为数据库后端。我们有一位客户希望从 Oracle 后端切换到 Microsoft SQL Server,这对我们来说不是典型的过渡。

将整个 Oracle Schema 中的所有数据获取到 SQL Server 数据库中的最简单方法是什么?

模式只包含普通的旧表,没有什么花哨的。可能有一两个存储过程,我们手动迁移不会有问题。

我可以使用 Oracle 的 SQLDeveloper 将表数据导出为CREATEINSERT语句,但这些与 SQL Server 上使用的语法不匹配,我不希望手动修复语法错误。

小智 11

我实际上曾经为此使用过 MS 的“Microsoft SQL Server 迁移助手 (SSMA)”,它确实做到了它所承诺的:

SQL Server Migration Assistant for Oracle(文档)
Microsoft SQL Server Migration Assistant v6.0 for Oracle(下载)
SQL Server Migration Assistant (SSMA) 团队的博客

然而,在我的情况下,它没有我预期的 80 GB Oracle-DB 快(4 小时左右),之后我不得不做一些手动步骤,但无论如何应用程序是在地狱中开发的(一张桌子有 90 + 列和 100 多个索引)。


RK *_*ala 7

添加到上面 Craig 的评论 - 我使用链接服务器从 SQL Server 刷新 Oracle 数据库中的几个表。您还可以使用以下方法将数据拉取到 SQL ServerOPENQUERY

INSERT INTO dbo.SQLTable1
  SELECT * FROM OPENQUERY(ORALINKEDSERV, 'SELECT * FROM OracleTable1')
Run Code Online (Sandbox Code Playgroud)

几个链接可以帮助您在此处此处设置链接服务器