如何将目录中的文件附加到使用utl_smtp发送的电子邮件中

时间:2016-12-11 18:07:02

标签: oracle plsql

有人可以分享要遵循的步骤列表或示例代码,以附加来自csv的简单Xlsutl file directory文件,并使用{{1}通过电子邮件发送}包。

1 个答案:

答案 0 :(得分:1)

尝试使用此文件从文件系统中读取文本文件:

FUNCTION GetFile(FolderName IN VARCHAR2, FileName IN VARCHAR2) RETURN CLOB IS

    v_bfile   BFILE; 
    v_clob    CLOB; 
    destOffset INTEGER := 1; 
    srcOffset INTEGER := 1; 
    lang_context INTEGER := DBMS_LOB.default_lang_ctx;
    warning INTEGER;

BEGIN 
    v_bfile := BFILENAME (FolderName, FileName); 
    DBMS_LOB.OPEN (v_bfile); 
    DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION);   
    DBMS_LOB.LOADCLOBFROMFILE(
        dest_lob => v_clob, 
        src_bfile => v_bfile, 
        amount => DBMS_LOB.GETLENGTH(v_bfile), 
        dest_offset => destOffset, 
        src_offset => srcOffset,
        bfile_csid => DBMS_LOB.default_csid,
        lang_context => lang_context,
        warning => warning); 

    DBMS_LOB.CLOSE(v_bfile); 

    RETURN v_clob; 

END GetFile;

将文件读入CLOB后,您可以将其传递给此程序:How to send email using Oracle 10 g Forms