Передать результаты запроса в CSV-файл и отправить его по почте с помощью SQL Server 2005 - PullRequest
0 голосов
/ 02 апреля 2009

У меня есть две задачи, и, поскольку я новичок в этом, мне нужна помощь / совет от мастеров.

Что мне нужно сделать, это отправить результат запроса q select в CSV-файл, который может иметь разделитель в виде запятой или табуляции, а затем отправить этот файл в виде почты определенному получателю.

Надеясь на хороший совет

1 Ответ

0 голосов
/ 16 апреля 2009

Попробуйте что-то подобное:

DECLARE @cvs nvarchar(MAX)
DECLARE @separator nvarchar(1)

SET @cvs = N''
SET @separator = ','

SELECT TOP 10 
    @cvs = @cvs + CAST(int_column AS nvarchar) + @separator +  nvarchar_column + @separator + CAST(datetime AS nvarchar) + CHAR(13)
FROM
    data_table WITH (NOLOCK)

SELECT @cvs
PRINT @cvs

EXEC msdb.dbo.sp_send_dbmail 
    @recipients = @mail_recipients,
    @profile_name = 'SO',
    @subject = @mail_subject,
    @body = @cvs

Используйте COALESCE, чтобы избежать значений NULL, при необходимости приведите столбцы к типу nvarchar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...