powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос строки
24 сообщений из 24, страница 1 из 1
Перенос строки
    #35579394
Dimych83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отправляю почту через xp_sendmail. Формирую параметр @message:

Код: plaintext
SET @message_text = 'Тип: '+@todo+'; Дата: '+CONVERT(varchar,GETDATE(), 120 )+'; Берег: '+@coast+'; Район: '+@rajon+'; Улица: '+@street+'; Тип объекта: '+@type_obj+'; Цена: '+@cost+'; Контактная информация: '+@descr

Потом указываю его в самой функции:
Код: plaintext
EXEC master.dbo.xp_sendmail @recipients = 'test@ktk.ru', @subject ='Заявка', @message = @message_text

Но так как само тело письма @message_text содержит длинный текст, хотелось бы разбить его по строкам, чтобы тело письма выглядело так:
Тип: aaaaaa
Дата: bbbbbb
Берег: ссссс

и т.д.

Одним словом как сделать перенос строки, может есть какой-нибудь служебный символ?
...
Рейтинг: 0 / 0
Перенос строки
    #35579396
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
declare @str varchar(max)
SET @str = 'String1'+char( 13 )+'String2'
select @str
...
Рейтинг: 0 / 0
Перенос строки
    #35579407
Dimych83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помогло почему-то... по справке еще прочитал про CHAR. Но там ничего больше нет...
...
Рейтинг: 0 / 0
Перенос строки
    #35579414
Фотография daw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>SET @str = 'String1'+char(13)+'String2'

char(10), или уж char(13) + char(10).
13 - это CARRIAGE RETURN.

>Не помогло почему-то...

если проверяете select-ом, установите в ssms режим Results to text.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перенос строки
    #35579418
Dimych83Не помогло почему-то... по справке еще прочитал про CHAR. Но там ничего больше нет...Возможно, к тому, что есть ещё не хватает char(10), так как некоторые GUI требуют наличия перевода каретки на новую строку и возврата каретки в начало строки.
...
Рейтинг: 0 / 0
Перенос строки
    #35579420
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daw
если проверяете select-ом, установите в ssms режим Results to text.


в ssms режим Results to text достаточно CHAR(13),
а так-то да..нужен и перенос и возврат коретки
...
Рейтинг: 0 / 0
Перенос строки
    #35579427
Dimych83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, теперь все нормально!
...
Рейтинг: 0 / 0
Перенос строки
    #35830562
Paul Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, плиз...
Отправляю почту процедурой msdb.dbo.sp_send_dbmail. Указанной выше пользоваться нет возможности.

Формирую строку: select @body = 'aaaa:'+@aaa + char(10) + char(13) + 'bbbb: ' + @bbb
Если перед отправкой сообщения вывести переменную (print @body), то эффект очевиден, перенос есть.

EXEC msdb.dbo.sp_send_dbmail
@profile_name = @profile_name2
, @recipients = @recipients2
, @subject = @subject2
, @body = @body2
, @query_result_header = @query_result_header2
, @query = @query2

Но в пришедшем сообщении на этом месте просто пробел. Получаю почту Outlook2007 SP1

Подскажите, где копать?

Если надо:
Microsoft SQL Server 2005 - 9.00.3073.00 (Intel X86) Enterprise Edition on Windows NT 6.0 (Build 6001: Service Pack 1)
...
Рейтинг: 0 / 0
Перенос строки
    #35830588
Mnior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извратнуться моно и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
declare @str varchar(max)
SET @str = 'String1
String2'
select @str
SET @str = @str + '
'    + @str
select @str
...
Рейтинг: 0 / 0
Перенос строки
    #35831582
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Paul Smith,

А может, не #10#13 , а #13#10 ?
...
Рейтинг: 0 / 0
Перенос строки
    #35836314
Paul Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mnior
Увы, проблема в том, что текстова строка переносы содержит, но в пришедшем письме их нет.
То ли msdb.dbo.sp_send_dbmail их удаляет, то ли Outlook-у что-то другое нужно.


Flying-homePaul Smith,
А может, не #10#13 , а #13#10 ?
Попробовал - то же самое :(
...
Рейтинг: 0 / 0
Перенос строки
    #35836445
Фотография daw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если явно сказать, что @body_format = 'TEXT'
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перенос строки
    #35836725
NIIIK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До кучи )

Код: plaintext
1.
2.
3.
4.
declare @CR nvarchar( 2 );
set @CR ='
';

print '111' + @CR + '222';

ещё можно функцию dbo.CR();
#10#13 я писал только в Делфе как перенос строки возврат коретки...
...
Рейтинг: 0 / 0
Перенос строки
    #35839045
Paul Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daw
а если явно сказать, что @body_format = 'TEXT'

Попробовал - не помогло.

Интересная вещь оказалась. Есть несколько процедур, которые накидывают строки в табличку (кому, сабж, источник и текст - всё varchar), из которой процедура отправки шлёт письма, добавляя между источником и текстом перенос строки.

Так вот некоторые письма, как оказалось, приходят с переносом строки, а некоторые (на которых я экспериментировал) - одной строкой. Разница между письмами только в тексте в полях, из которых составяется письмо.

Магия?
...
Рейтинг: 0 / 0
Перенос строки
    #35839267
Козьма Прутков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Paul Smith,
а слабо сравнить, чем отличаются в таблице отправки те сообщения, которые приходят с переносами строки, от тех, где переносы игнорируются?
И второе, попробуйте посмотреть исходник письма, в нем текст видно? он с переносами?
...
Рейтинг: 0 / 0
Перенос строки
    #35845064
Paul Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Козьма ПрутковPaul Smith,
а слабо сравнить, чем отличаются в таблице отправки те сообщения, которые приходят с переносами строки, от тех, где переносы игнорируются?
И второе, попробуйте посмотреть исходник письма, в нем текст видно? он с переносами?
Там 4 текстовых поля.
Отличатются текстом и длиной.
Про проверку уже писал - перед отправкой вывожу строку из текста письма - в обоих случаях перенос есть.

Попробую, конечно, с длиной строк поиграться. Но уже хочется прсто забить на проблему.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос строки
    #38588181
missmand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Paul Smith, В свойствах Outlook - Почта - Формат сообщения - Сбросить флажок "Удалять дополнительные переносы строк в текстовых сообщениях"
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос строки
    #39853293
Dimych83,

Для информации подробное описание
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос строки
    #40099388
Диана Орел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поле типа nvarchar(max) сохраняю в него текст скрипта, например,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
insert into dbo.t_script_txt (rul_id, sc_txt)
values (1,
'spool stdout on to ''%s'';
spool stderr on to ''%s'';
execute calculation 
''
FIX (
/* D4       */ "D4_NA",
/* D2       */ "D2_NA",
/* D1       */ "D1_NA",
/* PP       */ "PP_NA"
 )
CLEARBLOCK ALL;
ENDFIX /* ALL */'' 
on SALES.REVENUE;
Logout;
spool off;'
')


в тексте программы (Jython) обращаюсь к таблице, беру текст скрипта, сохраняю его в файле.
В фале текст выглядит так же, но после каждой строки добавляется пустая строка. Как это исправить?
...
Рейтинг: 0 / 0
Перенос строки
    #40099421
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диана Орел,

ваш *nix, очевидно, не "любит" символ возврата каретки x0D, обработайте строку так, чтобы удалить из неё эти символы.
...
Рейтинг: 0 / 0
Перенос строки
    #40099454
Диана Орел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов, ок, только у меня Windows :)
...
Рейтинг: 0 / 0
Перенос строки
    #40099460
Диана Орел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

сделала update поля, заменила char(13) на ''. Все получилось. Спасибо
...
Рейтинг: 0 / 0
Перенос строки
    #40105119
wizus3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...если кому интересно, "чем дело закончилось"
корректный перенос в письме появился при смене параметра отправки @body_format с HTML на text
...
Рейтинг: 0 / 0
Перенос строки
    #40105126
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wizus3
...если кому интересно, "чем дело закончилось"
корректный перенос в письме появился при смене параметра отправки @body_format с HTML на text


Неинтересно.
Все и так знают, что HTML формат игнорирует символы #10 и #13.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]