18

私はETLに取り組んでおり、SSISパッケージのSQLタスクに以下のSQLコードがあります。これが私がコーディングした方法です。テーブルからデータを選択し、そのクエリの結果をファイルとして選択しています。この添付ファイルをCSV形式で送信したい。どうすればいいのですか?

EXEC sp_send_dbmail @profile_name='default',
@recipients='dev@null.com',
@subject=@SUB,
@body=@BODY,

@query= 'SELECT [MID],[HID],[MeC],[LC],[RowCDate]
FROM [JBC].[dbo].[Table1] WHERE RowCDate >= GETDATE()
',
@attach_query_result_as_file=1

どんな助けでも大歓迎です。前もって感謝します。

4

5 に答える 5

41

追加する@query_result_separatorとうまくいくはずです。

EXEC sp_send_dbmail @profile_name='default',
@recipients='dev@null.com',
@subject=@SUB,
@body=@BODY,

@query= 'SELECT [MID],[HID],[MeC],[LC],[RowCDate]
FROM [JBC].[dbo].[Table1] WHERE RowCDate >= GETDATE()
',
@attach_query_result_as_file = 1,
@query_attachment_filename   = 'Results.csv',
@query_result_separator      = ','

追加@query_result_no_padding = 1すると、結果が少しクリーンアップされる場合があります。すべての引数はここにあります

于 2013-03-04T20:15:13.973 に答える
13
@query='
SET NOCOUNT ON;
select ''sep=;''
select ''Col1'',''Col2'',''Col3'',''Col3''

select CONVERT(NVARCHAR,Col1),ISNULL(Col2, ''''),Col4
FROM ...
SET NOCOUNT OFF;
',

--Additional settings
@query_attachment_filename   = '*.csv',
@query_result_separator      = ';',
@attach_query_result_as_file = 1,
@query_result_no_padding     = 1,
@exclude_query_output        = 1,
@append_query_error          = 0,
@query_result_header         = 0;
于 2014-06-25T12:40:08.763 に答える
7

追加する

'[sep=,' + CHAR(13) + CHAR(10) ColumnName] 

結果は問題を解決しました

ソースを見る

于 2015-11-27T15:00:40.487 に答える