Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
Необходимо отправить по эл. почте результат запроса.
Чтобы информация была читаема, разбавляю данные запроса
комментариями на русском языке.
Строки @body=N'Сообщение' и
@subject=N'Тема сообщения эл.почты'
нормально выводят русский текст в тему и тело сообщения.
А вот строка …select '' '',N''Всего принято товара - ''…
Отказывается выводить русские буквы. Вместо них в сообщении - ?????????
Подскажите, как решить эту проблему. Заменять русский текст латиницей
Не хотелось бы ((.
Причем, когда я запускаю запрос отдельно, без sp_send_dbmail, то все работает нормально

Exec msdb.dbo.sp_send_dbmail
@recipients='tany2511@mail.ru',
@body=N'Сообщение',
@query='
select '' '',@d1+'' - ''+@d2

union all

select '' '',''Vsego priniato tovara - ''+cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar )
from [ils].[dbo].[receipt_container] c with(nolock)
inner join [ils].[dbo].[item_unit_of_measure] i
on c.item = i.item and i.sequence=4
where c.INTERNAL_RECEIPT_NUM
',
@subject=N'Тема сообщения эл.почты',
@query_result_header=0
--@query_result_separator=' : '
;
29 июл 09, 09:21    [7471901]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
tany2511, какой collation на базе msdb ?
29 июл 09, 10:20    [7472228]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
tany2511
...А вот строка …select '' '',N''Всего принято товара - ''…
Отказывается выводить русские буквы. Вместо них в сообщении - ?????????
т.е. кроме русских букв остальная информация читается нормально?
29 июл 09, 10:28    [7472274]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino,

Я лох) и не поняла вашего вопроса) переведите)
29 июл 09, 10:46    [7472366]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino
tany2511
...А вот строка …select '' '',N''Всего принято товара - ''…
Отказывается выводить русские буквы. Вместо них в сообщении - ?????????
т.е. кроме русских букв остальная информация читается нормально?


да, все читается нормально, кроме русских букв. Если русские буквы в полях таблицы, то они тоже читаются нормально.
29 июл 09, 10:47    [7472380]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
select '' '',N''Всего принято товара - ''

и

select '' '',''Vsego priniato tovara - ''+

Где правда?!
29 июл 09, 10:51    [7472397]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino,

я так понимаю, что эту ситуацию можно обойти, если написать ХП, которая результат запроса
выгрузит в таблицу, а с помощью sp_send_dbmail отправить эту таблицу по почте запросом
select * from ...
Но я не знаю, функции, команды, которые выгрузят результат запроса в таблицу или в файл((
Подскажите, плиис, только подробно - я недавно начала изучать сиквел...
29 июл 09, 10:54    [7472419]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
tany2511


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

И какого же типа эти поля у вас ?
29 июл 09, 10:58    [7472444]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
pkarklin,

Правда в том, что select '' '',N''Всего принято товара - ''…

выводит вместо кириллицы ???????????


а select '' '',''Vsego priniato tovara - ''+

выводит Vsego priniato tovara

Просто я пытаюсь временно выкрутиться из сложной для меня ситуации:
очень нужно, чтоб выводились русские буквы. Надеюсь на помощь)
29 июл 09, 10:58    [7472449]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
Glory,

nvarchar
29 июл 09, 10:59    [7472456]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
tany2511
Glory,

nvarchar

А почему в запросе

select '' '',@d1+'' - ''+@d2
union all
select '' '',''Vsego priniato tovara - ''+cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar )
не видно ни одного такого поля ?
29 июл 09, 11:04    [7472492]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
Glory,

Потому что это - только часть запроса). Не писать же на форуме в качестве примера ХП на 2 листа). Поверьте на слово, данные из таблиц выводятся нормально.
А select '' '',N''Всего принято товара - ''… увы, выводит ????????????
29 июл 09, 11:10    [7472540]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
может, так сойдет?
select N'' '',cast(@d1+'' - ''+@d2 as nvarchar(999))
union all
select N'' '',N''Всего принято товара - ''+cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar)
29 июл 09, 11:13    [7472558]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
tany2511
Glory,

Потому что это - только часть запроса). Не писать же на форуме в качестве примера ХП на 2 листа). Поверьте на слово, данные из таблиц выводятся нормально.
А select '' '',N''Всего принято товара - ''… увы, выводит ????????????

Т.е. вы хотите сказать, что все уникодовские константы отображаются неправильно, а уникодовские поля наоборот правильно ?
29 июл 09, 11:13    [7472561]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
Glory, Vino

Я так понимаю, что вы асы) Помогите отправить результат запроса в таблицу. я не знаю как это сделать.
Попробую выкрутиться из этой ситуации по-другому)
29 июл 09, 11:18    [7472608]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino
может, так сойдет?
select N'' '',cast(@d1+'' - ''+@d2 as nvarchar(999))
union all
select N'' '',N''Всего принято товара - ''+cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar)


Не помогло(
29 июл 09, 11:20    [7472629]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
tany2511
Glory, Vino

Я так понимаю, что вы асы) Помогите отправить результат запроса в таблицу. я не знаю как это сделать.
Попробую выкрутиться из этой ситуации по-другому)

Попробуйте сначала отвечать на задаваемые вам вопросы
29 июл 09, 11:22    [7472643]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
Glory,

а разве я не ответила?)
константы юникодовские не отображаются, а с полями таблиц - все ОК.
29 июл 09, 11:27    [7472679]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
tany2511
Glory,

а разве я не ответила?)
константы юникодовские не отображаются, а с полями таблиц - все ОК.

Нет не отвеили. Потому что
N''Всего принято товара - ''+cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar) не является констанитой
В отличии от N''Всего принято товара - ''
29 июл 09, 11:29    [7472703]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
tany2511
Glory,

а разве я не ответила?)
константы юникодовские не отображаются, а с полями таблиц - все ОК.

если так считаете, то сделайте преобразование русского текста в код или выбирайте его напрямую из какой-нибудь специальной таблицы
29 июл 09, 11:31    [7472716]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
например, узнаете код для нужного вам текста
select cast(N'Всего принято товара - ' as varbinary(999))
а потом используете вместо строки выражение с cast(код as nvarchar(999)), посмотрите на результат такого запроса в отправке
select '' '',cast(@d1+'' - ''+@d2 as nvarchar(999))
union all
select '' '', cast(0x12044104350433043E0420003F04400438043D044F0442043E04200042043E04320430044004300420002D002000 as nvarchar(999))
+ cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar)
29 июл 09, 11:37    [7472755]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
vino
Member

Откуда:
Сообщений: 1191
select '' '',cast(@d1+'' - ''+@d2 as nvarchar(999))
union all
select '' '', cast(0x12044104350433043E0420003F04400438043D044F0442043E04200042043E04320430044004300420002D002000 as nvarchar(999))
 + cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar)
29 июл 09, 11:37    [7472764]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino,

спс, сейчас попробую)
29 июл 09, 11:45    [7472826]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
tany2511
Member

Откуда:
Сообщений: 25
vino
select '' '',cast(@d1+'' - ''+@d2 as nvarchar(999))
union all
select '' '', cast(0x12044104350433043E0420003F04400438043D044F0442043E04200042043E04320430044004300420002D002000 as nvarchar(999))
 + cast (sum(c.QUANTITY*(((i.length*i.width*i.height)/i.conversion_qty)/1000000)) as nvarchar)



Увы! запрос:

Exec msdb.dbo.sp_send_dbmail
@recipients='111@samsonpost.ru',
@body=N'---Результаты приходов--',
@query='select N'' '',cast (''0x12044104350433043E0420003F04400438043D044F0442043E04200042043E04320430044004300420002D002000'' as nvarchar(999)
,c.item_desc
from [ils].[dbo].[receipt_container] c with(nolock)',
@subject=N'***Результаты приходов***',
@query_result_header=0
set nocount on


Отправил по почте следующее сообщение(

---Результаты приходов--
0x12044104350433043E0420003F04400438043D044F0442043E04200042043E04320430044004300420002D002000 Кофе Nescafe Gold стекло, кристаллы, 47,5 гр.
29 июл 09, 12:15    [7473046]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом кириллицы в sp_send_dbmail  [new]
Glory
Member

Откуда:
Сообщений: 104760
А зачем вы 0x1204410... взяли в кавачки ?
29 июл 09, 12:25    [7473136]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить