мы используем .EXE-файл, который читает .Xml-файл из данного каталога для отправки писем. Для запуска .EXE мы используем следующую функцию
FUNCTION OSCommand_Run (Command IN STRING)
RETURN VARCHAR2
IS
LANGUAGE JAVA
NAME 'OSCommand.Run(java.lang.String) return int';
и.
PROCEDURE P_SEND_DB_MAIL (
P_FROM VARCHAR2,
P_TO VARCHAR2,
P_CC VARCHAR2,
P_BCC VARCHAR2,
P_SUBJECT VARCHAR2,
P_BODY VARCHAR2)
AS
V_FILE_NAME VARCHAR2 (250);
V_DIR_PATH VARCHAR2 (250);
X VARCHAR2 (2000);
BEGIN
SELECT DIRECTORY_PATH
INTO V_DIR_PATH
FROM ALL_DIRECTORIES
WHERE DIRECTORY_NAME = 'DIRECTORY';
--this is to generate XML file
GENERATE_XML ('MAIL_DIR',
V_FILE_NAME || '.xml',
P_FROM,
P_TO,
P_CC,
P_BCC,
P_SUBJECT,
P_BODY
);
--calling function to execute .exe
x :=
OSCommand_Run (
V_DIR_PATH
|| 'SendMail.exe '
|| V_DIR_PATH
|| V_FILE_NAME
|| '.xml');
END;
если мы вызывали эту функцию в каком-либо сохраненном пакете, она не работает и не дает ошибок или исключений и работает нормально, если мы вызываем ее между нормальным (Begin .. End) PL-кодом !!есть ли объяснение