テーブルをテキスト ファイルにエクスポートする方法は?
既存のテーブルの INSERT スクリプト (構造とデータ) を取得する必要があります。
SQL2kでは、一括コピーについて読んでみてください。コマンドはbcpである必要があると思います
MS ヘルプ ファイルの例には、次のようなものがあります。
テーブルからテキスト ファイルへのデータのエクスポート
bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword
テキスト ファイルからテーブルへのデータのインポート:
Newpubs.dat から publishers2 にデータを一括コピーするコマンドは次のとおりです。
bcp pubs..publishers2 in newpubs.dat -c -t , -r \n -Sservername -Usa -Ppassword
または、SQL クエリ アナライザーなどのクエリ ツールから BULK INSERT ステートメントを使用して、データを一括コピーすることもできます。
BULK INSERT pubs..publishers2 FROM 'c:\newpubs.dat'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
ガット
SQL Server 2005 Management Studio では、インポート/エクスポート ウィザードを使用できます (具体的にスクリプトが必要なのか、それとも単に構造/データをファイルにエクスポートする方法が必要なのかはわかりませんが、この提案では実際のスクリプトなしで実行できます)。 :
[パッケージの保存と実行] 画面で、[すぐに実行] を選択したままにするか、結果の "スクリプト" を SSIS パッケージとして保存する場合は、そのオプションも選択できます。[次へ]、[完了] の順にクリックして、エクスポートを実行します。
結果のファイルには、テーブルの内容が含まれます。このデータを別のデータベースに「挿入」する必要がある場合は、ウィザードの「データのインポート」オプションを使用して、テキスト ファイルから他のデータベース/テーブルにデータをインポートできます。
データの各行が列を記述する information_schema から列情報を取得することにより、INSERTステートメントをプログラムで作成できます。
SELECT table_name,
ordinal_position,
column_name,
data_type,
is_nullable,
character_maximum_length
FROM information_schema.columns
WHERE table_name LIKE '%TableName%'
ORDER BY ordinal_position
データのエクスポートには BCP がツールであり、BOL には適切な例がいくつかあります。
bcp AdventureWorks.Sales.Currency out Currency.dat -T -c