2011年10月18日火曜日

MS-SQLでオラクルのExportとImportを実装する

BCPコマンドでテーブルエクスポート用バッチファイルを作成 [SQLServer]
先日、SQLServer2005にてBCPコマンドを使用した
テーブルの全レコードをエクスポートするバッチファイル(拡張子「bat」)を
作成しました。

BCPコマンドは使用したことがなかったのですが、
書籍やネットで調べながら、何とか作る事ができました。

やっぱりバッチファイル(スクリプト)はGUIでマウス操作するよりも楽でいいですね。

バッチファイルを一度作ってしまえば、
次からはバッチファイルをダブルクリックするだけで、
やりたいことは全てバッチファイルが実行してくれますので、
かなり時間短縮できて効率的ですね。

以下、仕事で作成したバッチファイルを修正して、サンプルを作ってみました。
自分にとっての備忘録としても活用します(笑)

================================================================================
テーブルのエクスポートサンプル(バッチファイル[.bat])
================================================================================

rem テーブルのエクスポート(タブ区切りファイルでエクスポートする)

rem 実行結果ログ出力ファイル名を含むフルパスを設定する
set logfile=d:\ExportTable.log

rem テーブルのエクスポートを行う
bcp "testdb.dbo.table1" out "d:\table1.txt" -S TESTPC -U testuser -P test -c -t"\t" > %logfile%
bcp "testdb.dbo.table2" out "d:\table2.txt" -S TESTPC -U testuser -P test -c -t"\t" >> %logfile%

echo. >> %logfile%
echo "テーブルのエクスポートが正常に終了しました。" >> %logfile%

pause "テーブルのエクスポートが正常に終了しました。詳細は「" %logfile% "」をテキストエディタで開いて確認してください。"



================================================================================
テーブルのインポートサンプル(バッチファイル[.bat])
================================================================================

rem テーブルのインポート(タブ区切りファイルからインポートする)

rem 実行結果ログ出力ファイル名を含むフルパスを設定する
set logfile=d:\Import_Table.log

rem テーブルのインポートを行う
bcp "testdb.dbo.table1" in "d:\table1.txt" -S TESTPC -U testuser -P test -c -t"\t" > %logfile%
bcp "testdb.dbo.table2" in "d:\table2.txt" -S TESTPC -U testuser -P test -c -t"\t" >> %logfile%

echo. >> %logfile%
echo "テーブルのインポートが正常に終了しました。" >> %logfile%

pause "テーブルのインポートが正常に終了しました。詳細は「" %logfile% "」をテキストエディタで開いて確認してください。"

0 件のコメント:

コメントを投稿