Отправка почты из пакета вызовов .exe - PullRequest
0 голосов
/ 04 октября 2018

мы используем .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-кодом !!есть ли объяснение

...