我们正在使用.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;
如果我们在任何存储的程序包中调用此函数,则该函数将不起作用且不会给出错误或异常 如果我们在普通(开始..结束)PL代码之间调用它,它将很好用! 有什么解释