[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
bcpを用いたダーティーリードテーブル一括エクスポート
・bcpとforループを使用して、ExportTables.txtに記載されているテーブルを一括エクスポートする。
・bcpを使用するときにクエリ指定でダーティーリードで一括取得している。
・区切り文字はタブ。
・ExportTable.txtは先に作成しておく必用有り。
sysobjectsから取得。
・%OUTPUTPATH%\tablesにテーブル情報をエクスポートしたファイルが出力される。
***************ExportTables_Setting.bat***************
@echo off
rem # 最後に\をつけない
set OUTPUTPATH=ログの出力箇所を記載してください
set DB_SERVER=SQLサーバ名を記載してください
set DB_NAME=DB名を記載してください
set TABLE_OWNER=テーブルのオーナー名を記載してください
set DB_USER=アクセスするユーザ名を記載してください
set DB_PASS=上記ユーザのパスワードを記載してください
rem # set SQL_UTIL=C:\Program files\SQL Server\bin\osql.exe
rem # set BCP_UTIL=C:\Program files\SQL Server\bin\bcp.exe
set SQL_UTIL=osql
set BCP_UTIL=bcp
***************ExportTables_Setting.bat***************
***************ExportTables.bat***************
@echo off
call ExportTables_Setting.bat
if exist %OUTPUTPATH%\ExportTables.log ( del %OUTPUTPATH%\ExportTables.log )
for /F "tokens=*" %%f in (ExportTables.txt) do (echo %%f >> %OUTPUTPATH%\ExportTables.log & call bcp "select * from %DB_NAME%.%TABLE_OWNER%.%%f(nolock)" queryout %OUTPUTPATH%\tables\%%f.txt -t \t -c -S %DB_SERVER% -U %DB_USER% -P %DB_PASS% >> %OUTPUTPATH%\ExportTables.log)
echo ******EXPORT FINISH****** >> %OUTPUTPATH%\ExportTables.log
exit /b 0
***************ExportTables.bat***************