【问题标题】:Oracle Forms 11g - Email file as PDF instead of TXTOracle Forms 11g - 以 PDF 格式而不是 TXT 格式通过电子邮件发送文件
【发布时间】:2017-12-19 09:20:14
【问题描述】:

在 Oracle Forms 11g 上,我调用了一个通过电子邮件发送表单中显示的数据的过程。它复制电子邮件中的文本,并创建相同数据的 .TXT 附件。电子邮件工作正常。但现在我希望将相同的数据附加为 PDF 文件而不是 .TXT 文件。

以下是我调用的程序代码。

create or replace procedure send4 (p_sender IN VARCHAR2, p_recipient IN VARCHAR2, p_subject IN VARCHAR2, p_message IN VARCHAR2)
IS
crlf         VARCHAR2(2)  := chr(13)||chr(10);
l_mailhost VARCHAR2(255) := <IP ADDRESS>;
v_connection             UTL_SMTP.connection;

BEGIN
V_CONNECTION := utl_smtp.open_connection(l_mailhost, 25);
utl_smtp.Helo(V_CONNECTION, l_mailhost);
utl_smtp.Mail(V_CONNECTION, p_sender);
utl_smtp.Rcpt(V_CONNECTION, p_recipient);
utl_smtp.Data(V_CONNECTION,
'Date: '   || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf ||
'From: '   || p_sender || crlf ||
'Subject: '|| p_subject || crlf ||
'To: '     || p_recipient || crlf ||
'MIME-Version: 1.0'|| crlf ||   -- Use MIME mail standard
'Content-Type: multipart/mixed;'|| crlf ||
' boundary="-----SECBOUND"'|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/plain;'|| crlf ||
'Content-Transfer_Encoding: 7bit'|| crlf ||
crlf ||
p_message|| crlf ||
crlf ||
'-------SECBOUND'|| crlf ||
'Content-Type: text/plain;'|| crlf ||
' name="file.txt"'|| crlf ||
'Content-Transfer_Encoding: 8bit'|| crlf ||
'Content-Disposition: attachment;'|| crlf ||
' filename="attachment.txt"'|| crlf ||
crlf ||
p_message|| crlf || -- Content of attachment
crlf ||
'-------SECBOUND--'         -- End MIME mail
);
UTL_SMTP.quit(v_connection);
EXCEPTION
WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
raise_application_error(-20000, 'Unable to send mail', TRUE);
END;

谁能告诉我我在哪里进行了更改,以便创建 PDF 文件而不是 TXT。我尝试调整代码,但每次尝试打开 PDF 文件时都会出现错误。

【问题讨论】:

    标签: sql oracle oracle11g oracleforms


    【解决方案1】:
    • 创建 Oracle 报告
    • 将报表作业提交给报表引擎
    • 返回报告对象并将其附加到电子邮件中

    创建报告允许您通过将块 where 子句传递给报告来设置布局并在屏幕上使用相同的数据填充它。报告引擎将返回报告的 jobid,然后您可以通过使用表单级计时器触发器进行轮询来检查完成情况。报告完成后,将其作为附件添加到电子邮件中。

    【讨论】:

    • 感谢您的回复。由于现在的数据正在附加文本文件,我希望我可以将其作为 pdf 文件附加,而不是通过调整过程中的一些代码,如附件类型和/或数据解码或其他什么?。
    • 您能指导我如何在电子邮件中添加 PDF 文件吗?
    • 我认为没有办法在某种工具之外创建 pdf。 Oracle Reports 可以创建 pdf 并输出到电子邮件。 [链接])docs.oracle.com/cd/E28389_01/bi.1111/b32121/pbr_cla002.htm) 搜索电子邮件。您将使用的报告调用参数 desformat=pdf DESTYPE=mail DESNAME="emp1@comp.com"
    猜你喜欢
    • 2015-03-12
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 2010-11-26
    • 2014-06-22
    相关资源
    最近更新 更多