SSMS を使用して、SQL Server 2008 のいくつかのテーブルからデータをエクスポートする必要があります。ネイティブのデータ エクスポート ウィザードを使用したくありません。代わりにクエリを使用したい。これは、またはを使用できないことを意味します。sqlcmd
bcp
クエリを使用して SQL Server 2008 からデータをエクスポートするにはどうすればよいですか?
テキスト修飾子としてコンマ区切りで二重引用符で囲む必要があります。
ガイダンス/ヘルプをありがとう。
SSMS を使用して、SQL Server 2008 のいくつかのテーブルからデータをエクスポートする必要があります。ネイティブのデータ エクスポート ウィザードを使用したくありません。代わりにクエリを使用したい。これは、またはを使用できないことを意味します。sqlcmd
bcp
クエリを使用して SQL Server 2008 からデータをエクスポートするにはどうすればよいですか?
テキスト修飾子としてコンマ区切りで二重引用符で囲む必要があります。
ガイダンス/ヘルプをありがとう。
SSMS から CSV 出力を簡単に作成できますが、引用は行われないため、手順 6 で代わりにタブ区切りなどの形式を選択することをお勧めします。
xp_cmdshell
実行してbcp
操作を実行できます。
use [master];
declare @sql nvarchar(4000)
select @sql = 'bcp "select * from sys.columns" queryout c:\file.csv -c -t, -T -S'+ @@servername
exec xp_cmdshell @sql
もちろん、修飾子をフォーマットする方法を理解する必要があります(おそらくフォーマットファイルを介して)
編集:
ソースクエリは、次の行に沿ったものである必要があります。
SELECT IntValue + '"' + CharValue + '"' FROM TABLE
また、この機能を有効にする必要がある場合もあります
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
SQL クエリを使用してテキスト ファイルを作成することはできません。SQL は、データベースからのデータのフェッチ、解析、更新 (など) のみを目的としています。ファイルに書き込むには、システムの実行可能ファイル/dll が必要です。
SSMS を使用して生成された結果を csv にエクスポートする特定の理由はありますか? SSIS を使用して csv の結果を生成しないのはなぜですか?
SSIS を使用してこれを行う場合は、パッケージを作成して情報をエクスポートし、ジョブでパッケージをスケジュールして、いつでも実行できるようにします。
既存の Excel ファイルにエクスポートするには:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable
これは時代遅れですが、まだ有効だと思います。
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926
乾杯!
インサートでスパイスを効かせたセレクトを書くことができます。
例:SourceTableから'Insert into TargetTable values(id、name)values(''' + id +'''、''' + name +''')'を選択します。