Отправить очень большое тело сообщения HTML в Oracle - PullRequest
0 голосов
/ 03 ноября 2018

у меня ниже кусок кода-

declare
msg clob;
begin
select email into msg from ANI_CLOB;
Utl_Mail.Send(Sender =>'<abc.def@xyz.com>', Recipients =>abc.def@xyz.com,subject =>'CLOB MESSAGE', MIME_TYPE => 'text/html', Message =>msg);
end;

Таблица ANI_CLOB имеет один столбец 'EMAIL' с типом данных CLOB и только одну строку, в которой хранится большое HTML-тело письма.

когда я запускаю этот блок, я получаю ошибку ниже -

Error report -
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 5
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    An arithmetic, numeric, string, conversion, or constraint error
           occurred. For example, this error occurs if an attempt is made to
           assign the value NULL to a variable declared NOT NULL, or if an
           attempt is made to assign an integer larger than 99 to a variable
           declared NUMBER(2).
*Action:   Change the data, how it is manipulated, or how it is declared so
           that values do not violate constraints.

Можем ли мы отправить CLOB как тело сообщения в utl_mail.send. Кроме того, я хочу отправить это сообщение только как тело письма.

1 Ответ

0 голосов
/ 03 ноября 2018

Нет, UTL_MAIL не поддерживает CLOBs. Если вы должны сделать это, вам придется использовать UTL_SMTP, самостоятельно обрабатывать различные этапы связи с почтовым сервером и отправлять CLOB с помощью нескольких вызовов на utl_smtp.write_data.

...