3

.dmp ファイル (Oracle データ) があり、このファイルを SQL Server 2008 R2 にインポートする必要があります。私はグーグルを試しましたが、明確な解決策が得られません。Oracle は別のマシンにあり、SQL Server は別のマシンにあります。この .DMP ファイルには、テーブルとデータのみが含まれています。
どんな体にも考えがありますか?

4

3 に答える 3

10

ここからは行けません。Oracle エクスポート ユーティリティ (クラシックまたは DataPump) が生成するファイル (慣例により、DMP 拡張子を頻繁に使用する) は、独自のバイナリ ファイルです。それらは、別の Oracle データベースにデータをロードすることのみを許可する Oracle インポート ユーティリティ (クラシックまたは DataPump) によってのみ使用できます。

DMP ファイルを新しい Oracle データベースにロードすることはできますが、それでもデータを Oracle から SQL Server に移動する必要があります。DMP ファイルを無視して、元の Oracle データベースから直接プルする方が簡単な場合があります。Oracle データベースから SQL Server データベースにデータを移動するために使用できるさまざまなツールがあります。SQL Server でプロセスを制御する場合は、SQL Server Integration Services (SSIS) を使用できます。また、SQL Server で Oracle データベースを参照するリンク サーバーを作成し、その接続を介して Oracle データベースに対してクエリを書き込むこともできます。Oracle にデータをプッシュさせたい場合は、異機種間サービスで Oracle Transparent Gateway を使用して、Oracle から SQL Server へのデータベース リンクを作成し、リモート SQL Server データベースに対して SQL を発行することもできます。

Oracle から SQL Server へのデータの移動に関する素晴らしい StackOverflow スレッドがあります。Oracle から SQL Server にプルする場合、または SQL Server から Oracle にプッシュする場合、SSIS ロジックは非常に似ています。

于 2011-09-19T16:06:04.027 に答える
0

同じ問題に直面したとき、形式を手動で調査しようとしました (私の場合、ダンプ ファイルは Oracle EXP によって生成されました)。見つけた:

  • テーブル定義は、MS SQL 形式に簡単に変換できる Oracle CREATE TABLE ステートメントとして提供されます。
  • ほとんどの種類のデータは非常に簡単に抽出できます (テキストは「そのまま」になり、数値はIEEE 754 形式に従って保存されます) 。
  • LOB は非常に複雑な方法で格納されているため、認識できませんでした

次に、移行タスクを実行できるツールを見つけました: https://www.convert-in.com/ord2mss.htm

ベンダーは、exp と expdp の両方を SQL サーバーに移行できると言っていましたが、私は EXP 形式でのみテストしました。

于 2021-03-30T11:59:38.307 に答える