|
|
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите пожалуйста. Процедура компилиться с ошибкой и я не знаю как ее исправить( Подскажите как быть, может можно как-то по другому написать. Спасибо большое) CREATE OR REPLACE PROCEDURE send_file_to_mail (p_to IN VARCHAR2:='mail.net', p_from IN VARCHAR2:='mail.net', p_subject IN VARCHAR2:='Test Message', p_attach_name IN VARCHAR2 :='file.txt', p_attach_mime IN VARCHAR2 :='text/plain', p_smtp_host IN VARCHAR2:='smtp.mail.net', p_smtp_port IN NUMBER DEFAULT 25) AS l_mail_conn UTL_SMTP.connection; l_boundary VARCHAR2(50) := '----=*#abc1234321cba#*='; l_step PLS_INTEGER := 24573; p_attach_clob CLOB; CURSOR C1 IS SELECT field1||field2 FROM table; p_attach_clob C1%ROWTYPE; BEGIN LOOP OPEN C1; FETCH C1 INTO p_attach_clob; EXIT WHEN C1%NOTFOUND; END LOOP; l_mail_conn := UTL_SMTP.open_connection(p_smtp_host, p_smtp_port); UTL_SMTP.helo(l_mail_conn, p_smtp_host); UTL_SMTP.mail(l_mail_conn, p_from); UTL_SMTP.rcpt(l_mail_conn, p_to); UTL_SMTP.open_data(l_mail_conn); UTL_SMTP.write_data(l_mail_conn, 'Date: ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'To: ' || p_to || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'From: ' || p_from || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'Subject: ' || p_subject || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'Reply-To: ' || p_from || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'MIME-Version: 1.0' || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'Content-Type: multipart/mixed; boundary="' || l_boundary || '"' || UTL_TCP.crlf || UTL_TCP.crlf); IF p_attach_name IS NOT NULL THEN UTL_SMTP.write_data(l_mail_conn, '--' || l_boundary || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'Content-Type: ' || p_attach_mime || '; name="' || p_attach_name || '"' || UTL_TCP.crlf); UTL_SMTP.write_data(l_mail_conn, 'Content-Disposition: attachment; filename="' || p_attach_name || '"' || UTL_TCP.crlf || UTL_TCP.crlf); FOR i IN 0 .. TRUNC((DBMS_LOB.getlength(p_attach_clob) - 1 )/l_step) LOOP UTL_SMTP.write_data(l_mail_conn, DBMS_LOB.substr(p_attach_clob, l_step, i * l_step + 1)); END LOOP; UTL_SMTP.write_data(l_mail_conn, UTL_TCP.crlf || UTL_TCP.crlf); END IF; UTL_SMTP.write_data(l_mail_conn, '--' || l_boundary || '--' || UTL_TCP.crlf); UTL_SMTP.close_data(l_mail_conn); UTL_SMTP.quit(l_mail_conn); END; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:45 |
|
||
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, ошибка при компиляции - Error: PLS-00371: at most one declaration for 'P_ATTACH_CLOB' is permitted Text: FETCH C1 INTO p_attach_clob; Error: PLS-00371: at most one declaration for 'P_ATTACH_CLOB' is permitted Line: 45 Text: FOR i IN 0 .. TRUNC((DBMS_LOB.getlength(p_attach_clob) - 1 )/l_step) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:49 |
|
||
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
Гугле. Переведется все https://translate.google.com/#auto/ru/: at most one declaration for 'P_ATTACH_CLOB' is permitted ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:54 |
|
||
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
PugolovokПроцедура компилиться с ошибкой и я не знаю как ее исправить(Если ты не можешь понять, что написано в сообщении об ошибке, то может быть программирование - это не твоё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:54 |
|
||
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
PugolovokПрошу прощения, ошибка при компиляции - Error: PLS-00371: at most one declaration for 'P_ATTACH_CLOB' is permitted Text: FETCH C1 INTO p_attach_clob;Используй sqlplus. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:55 |
|
||
|
Отправка файла по почте.
|
|||
|---|---|---|---|
|
#18+
Pugolovok, авторCREATE OR REPLACE PROCEDURE send_file_to_mail (p_to IN VARCHAR2:='mail.net', p_from IN VARCHAR2:='mail.net', p_subject IN VARCHAR2:='Test Message', p_attach_name IN VARCHAR2 :='file.txt', p_attach_mime IN VARCHAR2 :='text/plain', p_smtp_host IN VARCHAR2:='smtp.mail.net', p_smtp_port IN NUMBER DEFAULT 25) AS l_mail_conn UTL_SMTP.connection; l_boundary VARCHAR2(50) := '----=*#abc1234321cba#*='; l_step PLS_INTEGER := 24573; p_attach_clob CLOB; CURSOR C1 IS SELECT field1||field2 FROM table; p_attach_clob C1%ROWTYPE; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39639538&tid=1884048]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 511ms |

| 0 / 0 |
