web-dev-qa-db-ja.com

OracleからSQL Serverにデータを移動する最も簡単な方法は何ですか?

当社の製品の1つは、データベースバックエンドとしてOracleとSQL Serverの両方をサポートしています。 OracleバックエンドからMicrosoft SQL Serverへの切り替えを希望するお客様がいますが、これは通常の移行ではありません。

Oracleスキーマ全体からすべてのデータをSQL Serverデータベースに取り込む最も簡単な方法は何ですか?

スキーマにはプレーンな古いテーブルのみが含まれており、特別なものは何もありません。手作業で移行しても問題のないストアドプロシージャが1つまたは2つある場合があります。

OracleのSQLDeveloperを使用してテーブルデータをCREATEおよびINSERTステートメントとしてエクスポートできますが、これらはSQL Serverで使用される構文と一致せず、手動で修正する必要があるのを楽しみにしています。構文エラー。

13
Martin

私は実際にMSの「Microsoft SQL Server Migration Assistant(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時間程度)で予想したほど速くなかったため、後で手動でいくつかの手順を実行する必要がありましたが、アプリケーションは地獄で開発されました(1つのテーブルに90 +列と100+のインデックス)。

11
Dietmar

上記のCraigのコメントに追加-リンクサーバーを使用して、SQL ServerからOracleデータベースのいくつかのテーブルを更新します。 OPENQUERYを使用してSQL Serverにデータをプルすることもできます

INSERT INTO dbo.SQLTable1
  SELECT * FROM OPENQUERY(ORALINKEDSERV, 'SELECT * FROM OracleTable1')

リンクサーバーのセットアップに役立つ2つのリンク here および here

7
RK Kuppala