web-dev-qa-db-ja.com

MS SQL Server 2008:すべてのテーブルをCSVにエクスポートする方法は?

MS SQL Serverから移行して、古いテーブルから部分的に取得したデータで新しいOracleデータベースを作成する必要があります。

そのためには、数十のテーブルからデータをUnicode CSVまたはTXTファイル、 "|"で区切られたファイルとして取得する必要があります。

悪いことに、MS SQL Serverのデフォルトのエクスポートマスターは一度に1つのテーブルしかエクスポートできず、各テーブルのエクスポートオプションを構成するにはかなりの時間がかかります。手動でエクスポートを開始しましたが、10番目のテーブルで神経の攻撃を受けました。

SQLサーバーからすべてのテーブルをcsvまたはtxtにエクスポートする方法を知っていますか?

5
Andrew

より堅牢なソリューションは、Oracle Migration Workbenchを使用することです。これは以前はOracleとは別のユーティリティでしたが、現在は Oracle SQL Developer に含まれています。あなたとCLOB/BLOBデータ型の場合、これが先の方法です。 SQL Developer移行インターフェースは直感的ではないため、移行方法についてはOracle documentation もお読みください。

すべてのテーブルをcsvにエクスポートする道を進みたい場合は、 [〜#〜] bcp [〜#〜] または [〜#〜] ssis [〜# 〜] 。 t-sqlの使用とデータベース内のすべてのテーブルのbcpエクスポートコマンドの生成について、 simple-talk に関する非常に優れた記事があります。単純なSSISパッケージを作成して、フラットファイル宛先タスクを使用してすべてのテーブルをcsvにエクスポートすることもできます。

これは、BCPコマンドを生成する、すばやく簡単なものです。 SSMSで実行し、コマンドプロンプトで出力を実行します。

            USE AdventureWorks
SELECT 'bcp ' +
            QUOTENAME(DB_NAME())
            + '.'
            +QUOTENAME(SCHEMA_NAME(schema_id))
            + '.'
            +QUOTENAME(name)
            + ' '+'out'+' '
            + name + '.csv -w -t"|" -E -S '
            + @@servername
            + ' -T'
    FROM sys.objects
    WHERE TYPE='u'
        AND is_ms_shipped=0
3
Nick Kavadias

この目的のために、SQL ServerおよびOracle用のdbForge Studioを試すことができます。スタートページ、[データベース]メニュー、[データのエクスポート]、次にウィザードで[CSV]を選択し、データベースの他のオプションを選択します。

0
Den

SQL Management Studioにアクセスできる場合(無料のExpressバージョンにも機能があると思います)、データベースを右クリックして[タスク]-> [データのエクスポート]を選択できます。宛先として、「フラットファイル」宛先を選択すると、フォーマット(固定幅、csvなど)を微調整できます。

0
Coding Gorilla

Oracleから入手できるOracle Migration Workbenchと呼ばれるツールがあり、まさにあなたが望むもののために設計されています。このツールは、ユーザーを含むスキーマ全体を取得して、MS SQLからOracleに移行できます。

私は何回もそれを使用しました、そしてそれは素晴らしいです。

詳細はこちら http://download.Oracle.com/docs/html/B10259_01/toc.htm

J

0
James