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

Откуда:
Сообщений: 38
Как можно изменить кодировку в CDO ?
20 янв 04, 13:00    [498710]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_setting_language_and_timezone_information.asp
20 янв 04, 13:48    [498841]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
зы. землякам привет!
20 янв 04, 13:49    [498845]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
Честно говоря посмотрел и мало, что понял.
Не мог бы объяснить как через хранимую процедуру sp_AO.. изменить кодировку в отправляемом сообщении, например на Windows-1251.
20 янв 04, 14:02    [498888]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
DECLARE @MailID int, @hr int  

SET @port = 25
EXEC @hr = sp_OACreate 'CDO.Message', @MailId OUT
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
-- use remote SMTP server

EXEC @hr = sp_OASetProperty @MailId, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
-- name of your SMTP mail server

EXEC @hr = sp_OASetProperty @MailId, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', 'server'
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END

EXEC @hr = sp_OASetProperty @MailId, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/languagecode").Value','ru'
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END

/*
EXEC @hr = sp_OASetProperty @MailId, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/languagecode").Value','ru'
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
*/

/*
EXEC @hr = sp_OASetProperty @MailId, 'TextBodyPart.Charset','windows-1251'
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
*/


EXEC @hr = sp_OASetProperty @MailId, 'Configuration(cdoSMTPConnectionTimeout)', 60
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
EXEC @hr = sp_OAMethod @MailId, 'Configuration.Fields.Update', null
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END

EXEC @hr = sp_OASetProperty @MailId, 'To', @TO
IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @MailID RETURN END
...

and so on.

ps. sp_displayoaerrorinfo поищите по форуму.
20 янв 04, 14:24    [498963]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
Спасибо за помощь, но уменя ещё один вопрос.
У CDO есть ограничения на размер отправляемых сообщений?
Я отправляю текст около 3000 символов, часть из которых он обрезает.
21 янв 04, 08:10    [500070]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
1. it's not cdo problem. I send more than 3000 (8000 usually - varchar limitations).
2. see attachments property too.
21 янв 04, 09:20    [500126]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
Еще раз добрый день!
Что я делаю не так.
Вот хранимая процедура.

CREATE PROCEDURE [send_email]
AS
Declare @message varchar(4000)
Declare @iMsg int
Declare @hr int
set @message='11111111111111111111111111111111111111111111111111111111111111' + char(10) +
'222222222222222222222222222222222222222222222222222222222222222222222222222222' + char(10)+
'33333333333333333333333333333333333333333333333333333333333333333333333333333333' +char(10) +
'kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk' + char(10)+
'gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg' + char(10)+
'dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' + char(10)+
'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' + char(10)+
'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww' + char(10)+
'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr' + char(10)+
'dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'

EXEC @hr = sp_OACreate 'CDO.Message', @iMsg OUT
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','1'
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', '192.168.1.10'
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/languagecode").Value','ru'
EXEC @hr = sp_OASetProperty @iMsg, 'TextBodyPart.Charset','windows-1251'
EXEC @hr = sp_OAMethod @iMsg, 'Configuration.Fields.Update', null
EXEC @hr = sp_OASetProperty @iMsg, 'To', 'ivan@yandex.ru'
EXEC @hr = sp_OASetProperty @iMsg, 'From', 'petr@mail.ru'
EXEC @hr = sp_OASetProperty @iMsg, 'Subject', 'Proba'
EXEC @hr = sp_OASetProperty @iMsg, 'TextBody', @message
EXEC @hr = sp_OAMethod @iMsg, 'Send', NULL

EXEC @hr = sp_OADestroy @iMsg


После запуска в сообщении возвращается
11111111111111111111111111111111111111111111111111111111111111
222222222222222222222222222222222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333333333333333333333333333333333
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

А где остальное?
21 янв 04, 13:28    [500758]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
1. приведите результат print @@version?

2. EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','1'
???
(у меня вообще Ваш пример не отработал, подозреваю что из-за sendusing)

3. attachments не достаточно?
21 янв 04, 13:52    [500807]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
Microsoft SQL Server 7.00 - 7.00.1063 (Intel X86)
Apr 9 2002 14:18:16
Copyright (c) 1988-2002 Microsoft Corporation
Desktop Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

Cо значением 2 ,то же самое.
21 янв 04, 14:12    [500878]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
Не знаю что и думать.
CDO у нас одинаковые, SQL серверы разные.
есть подозрение, что это sp_OASetProperty в 7 Вам какает.
Попробуйте HTMLBody вместо ТекстBody.
У меня Ваш пример https://www.sql.ru/forum/actualpost.aspx?bid=1&tid=69567&mid=0&p=1#500758 с sendusing = 2 проходит полностью (SQL2k).

зы. Да, и скажите наконец, аттачменты Вас принципиально не устраивают?
21 янв 04, 14:42    [500964]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
HTML Body пробовал такая же петрушка.
Начсёт атачментов наверное не подойдёт так, как текст динамический вствляются Фамилии,Имена и прочая информация из базы.
Сейчас попробую на 2000.

Огромно thanks, но не прощаюсь.
22 янв 04, 07:05    [501841]     Ответить | Цитировать Сообщить модератору
 Re: CDO и кодировка  [new]
Kh_sasha
Member

Откуда:
Сообщений: 38
Да, на 2000 срабатывает полностью.
Будем разбираться.
22 янв 04, 07:29    [501857]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить