Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Экспорт в файл .csv через sp_send_dbmail  [new]
Rekvi
Member

Откуда:
Сообщений: 3
Добрый день.
Не получается нормально настроить выгрузку в файл .csv через sp_send_dbmail

@profile_name = 'osl_tsreport',
@recipients = 'mail@mail.ru',
@subject = 'Theme',
@body = ' texttexttexttexttexttext',
@query = 'SET NOCOUNT ON; Select * FROM ##TEST ; SET NOCOUNT OFF;' ,
@query_attachment_filename='File.csv',
@attach_query_result_as_file = 1,
@query_result_no_padding = 1,
@query_result_separator=' ';


Таблица ##TEST имеет 5 столбцов(номер, имя, фамилия, рост , вес) и выгружается в файл - File.csv, НО все данные записываются в первый столбец(см. аттач). Подскажите, пожалуйста, как сделать так чтобы выгружалось нормально?

К сообщению приложен файл. Размер - 20Kb
5 ноя 14, 16:39    [16801841]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36989
Help
[ @query_result_separator = ] 'query_result_separator'
Is the character used to separate columns in the query output
5 ноя 14, 16:41    [16801860]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Rekvi
Member

Откуда:
Сообщений: 3
Гавриленко Сергей Алексеевич,
Не совсем понятно, если вам не сложно можно поподробнее?
5 ноя 14, 16:51    [16801927]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Rekvi
Member

Откуда:
Сообщений: 3
Все понял, спасибо.
5 ноя 14, 17:31    [16802137]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
Посылаю себе по примеру ТС, и вижу, что зачем-то появляется вторая строчка с непонятными минусами

exec  msdb.dbo.sp_send_dbmail 
	@recipients = 'moemylo',
	@subject = 'test',
	@body = ' texttexttexttexttexttext',
	@query = 'select 1,2,3,4 union all select 1,1,1,1 union all select 2,2,2,2' ,
	@query_attachment_filename='File.csv',
	@attach_query_result_as_file = 1,
	@query_result_no_padding = 1,
	@query_result_separator=';';


К сообщению приложен файл. Размер - 11Kb
14 сен 17, 18:24    [20796819]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1369
Шыфл,

Начните с простого: Если прикперплять не .csv а .txt паразитные строки остаются?
Уберите значение @body
14 сен 17, 20:07    [20797110]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
felix_ff,

как бы тоже самое. Есть вторая строчка с минусами. Если данные длиннее, минусов в поле становится большею

Где это выключается?

К сообщению приложен файл. Размер - 8Kb
15 сен 17, 10:54    [20798047]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
komrad
Member

Откуда:
Сообщений: 5245
Шыфл,

это не минусы, а пустые заголовки столбцов

убираются параметром "@query_result_header=0"
15 сен 17, 11:44    [20798274]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
komrad,
Ну, это не заглавия столбцов, но с ними связанно. Параметр убирает сразу всё, но мне бы названия оставить...

К сообщению приложен файл. Размер - 24Kb
15 сен 17, 12:25    [20798457]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт в файл .csv через sp_send_dbmail  [new]
komrad
Member

Откуда:
Сообщений: 5245
Шыфл,


+ придется извращаться
select 'column 1','column 2','column 3','column4'
union all
select convert(varchar(20),1),convert(varchar(20),2),convert(varchar(20),3),convert(varchar(20),4) 
union all 
select convert(varchar(20),1),convert(varchar(20),1),convert(varchar(20),1),convert(varchar(20),1) 
union all 
select convert(varchar(20),2),convert(varchar(20),2),convert(varchar(20),2),convert(varchar(20),2) 
15 сен 17, 12:37    [20798512]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить