25.04.2016 17:14
с правами все в норме. у обоих есть права на чтение/удаление/изменение.
ковыряю runtime.email.send

если закоментить выделенное --!!-- - письмо пролетает, но вложение не открывается, типа битый файл.

что делается в этом конкретном месте я пытаюсь осознать посредством гугла

Код:
			if p_attachments(i).bdata is not null then
				--!!!!------
				for k in 1..ceil(dbms_lob.getlength(p_attachments(i).bdata)/v_chunk) loop
					utl_smtp.write_raw_data(v_smtp_conn, utl_encode.base64_encode(dbms_lob.substr(p_attachments(i).bdata,v_chunk,v_chunk*(k-1)+1)));
				end loop;
				--!!!!------
			elsif p_attachments(i).cdata is not null then
				for k in 1..ceil(dbms_lob.getlength(p_attachments(i).cdata)/v_chunk) loop
					utl_smtp.write_raw_data(v_smtp_conn, utl_encode.base64_encode(utl_raw.cast_to_raw(convert(dbms_lob.substr(p_attachments(i).cdata,v_chunk,v_chunk*(k-1)+1),v_charset_db))));
				end loop;
			end if;
25.04.2016 17:25
Что-то гигантское? попробовать другой аттач? какой-нибудь мааленький текстовичок?
25.04.2016 18:00
блин, запихнул файлик на 200байт - пролез
но мой тоже небольшой, 93кб всего

если честно, я все ровно не понимаю в чем тут проблема. Ну пилит он файлик на части, что с того-то?)

v_chunk constant pls_integer := 10368; -- 48bytes binary convert to 128bytes of base64. (32767/2 max for raw convert)
я вот этот расчет вообще непонимаю. что тут во что конвертят?

при файлике, у которого длина в байтах больше 10368 - он зависнет на стадии utl_smtp.close_data(v_smtp_conn);
25.04.2016 20:13
Может, бага какая-то? Небось, пришлось перейти на 12? ЦФТ без этого на поддержку не брала у нас, а с ней, с 12й, еще отношения не очень...
Что еще из мыслей - проверить значение параметра nls_length_semantics (сравнить с тестовой базой, где работает).
Надо понимать, что при этом много что может поехать боком в базе, например, размер создаваемых колонок таблиц будет различаться при разных значениях этого параметра и кодировке БД UTF8 (кодировку, кстати, тоже можно сравнить).
Если предположить, что с длиной напутали, то размер чанка можно сильно уменьшить.
26.04.2016 14:03
как выяснилось, у нас 2 сервера под одним DNS (типа виртуального). И один из них как-то криво отвечает пакету utl_smtp.
Прописали жестко адрес второго сервера - работает. в чем была причина, так и непонятно.
Часовой пояс GMT +3, время: 12:07.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.