5

SSMS を使用して、SQL Server 2008 のいくつかのテーブルからデータをエクスポートする必要があります。ネイティブのデータ エクスポート ウィザードを使用したくありませ。代わりにクエリを使用したい。これは、またはを使用できないことを意味します。sqlcmdbcp

クエリを使用して SQL Server 2008 からデータをエクスポートするにはどうすればよいですか?

テキスト修飾子としてコンマ区切りで二重引用符で囲む必要があります。

ガイダンス/ヘルプをありがとう。

4

5 に答える 5

9

SSMS から CSV 出力を簡単に作成できますが、引用は行われないため、手順 6 で代わりにタブ区切りなどの形式を選択することをお勧めします。

  1. 新しいクエリ ウィンドウを開きます。
  2. SQL クエリを作成します。
  3. クエリ ウィンドウで右クリックします。
  4. クエリ オプションの選択...
  5. [結果] で [テキスト] を選択します。
  6. [出力形式:] を [カンマ区切り] に変更します。
  7. 各列に表示される最大文字数を 8000 または適切な値に変更します。
  8. [OK] をクリックします。
  9. クエリ ウィンドウで右クリックします。
  10. [結果へ] および [結果へのファイル] を選択します。
  11. クエリを実行します。
  12. ファイル名と場所を選択します。
  13. [保存] をクリックします。
于 2012-06-13T18:24:12.037 に答える
5

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
于 2012-06-13T18:27:13.533 に答える
3

SQL クエリを使用してテキスト ファイルを作成することはできません。SQL は、データベースからのデータのフェッチ、解析、更新 (など) のみを目的としています。ファイルに書き込むには、システムの実行可能ファイル/dll が必要です。
SSMS を使用して生成された結果を csv にエクスポートする特定の理由はありますか? SSIS を使用して csv の結果を生成しないのはなぜですか?

SSIS を使用してこれを行う場合は、パッケージを作成して情報をエクスポートし、ジョブでパッケージをスケジュールして、いつでも実行できるようにします。

于 2012-06-13T18:04:48.070 に答える
1

既存の 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

乾杯!

于 2012-06-13T18:14:50.173 に答える
-1

インサートでスパイスを効かせたセレクトを書くことができます。

例:SourceTableから'Insert into TargetTable values(id、name)values(''' + id +'''、''' + name +''')'を選択します。

于 2012-06-13T18:07:22.847 に答える