Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 生成&;来自Oracle Forms 11g的电子邮件报告_Database_Oracle_Email_Oracle11g_Oracleforms - Fatal编程技术网

Database 生成&;来自Oracle Forms 11g的电子邮件报告

Database 生成&;来自Oracle Forms 11g的电子邮件报告,database,oracle,email,oracle11g,oracleforms,Database,Oracle,Email,Oracle11g,Oracleforms,我通过传递Oracle Forms 11g中的参数生成PDF格式的报告。我有一个要求,以电子邮件相同的报告自动以及。下面是我传递参数的表单部分 pl_id := Create_Parameter_List('tmpdata1'); add_parameter(pl_id, 'FDT', TEXT_PARAMETER, :a); add_parameter(pl_id, 'TDT', TEXT_PARAMETER, :b); add_parameter(pl_id, 'VC', TEXT_P

我通过传递Oracle Forms 11g中的参数生成PDF格式的报告。我有一个要求,以电子邮件相同的报告自动以及。下面是我传递参数的表单部分

pl_id := Create_Parameter_List('tmpdata1'); 
add_parameter(pl_id, 'FDT', TEXT_PARAMETER,  :a);
add_parameter(pl_id, 'TDT', TEXT_PARAMETER,  :b);
add_parameter(pl_id, 'VC', TEXT_PARAMETER, :e);
add_parameter(pl_id, 'SYS_DATE', TEXT_PARAMETER, :f);
ADD_PARAMETER(pl_id,'DESTYPE',TEXT_PARAMETER,'FILE');
ADD_PARAMETER(pl_id,'DESFORMAT',TEXT_PARAMETER,'PDF');
ADD_PARAMETER(pl_id,'DESNAME',TEXT_PARAMETER,'C:\Downloads\abc.pdf');  
现在,报告的副本保存在C:\Downloads文件夹中,并显示在浏览器中

我使用以下过程通过电子邮件发送表格中显示的当前数据

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;
创建或替换过程send4(VARCHAR2中的p_发送者,VARCHAR2中的p_接收者,VARCHAR2中的p_主题,VARCHAR2中的p_消息)
是
crlf VARCHAR2(2):=chr(13)| | chr(10);
l_mailhost VARCHAR2(255):=;
v_连接UTL_SMTP.connection;
开始
V_连接:=utl_smtp.open_连接(l_邮件主机,25);
utl_smtp.Helo(V_连接,l_邮件主机);
utl_smtp.Mail(V_连接,p_发件人);
utl_smtp.Rcpt(V_连接,p_收件人);
utl_smtp.Data(V_连接,
“日期:”| | to_char(sysdate,'Dy,DD Mon YYYY hh24:mi:ss')| | crlf||
“发件人:”| | p|发件人| | crlf||
“主题:”| | p| U主题| | crlf||
“收件人:”|| p|U收件人| | crlf||
“MIME版本:1.0”| | crlf | |--使用MIME邮件标准
'内容类型:多部分/混合;'| | crlf||
“boundary=“----SECBOUND”| | crlf||
crlf||
'----第二绑定'| | crlf||
'内容类型:文本/普通;'| | crlf||
“内容传输编码:7bit”| crlf||
crlf||
p|U消息| crlf||
crlf||
'----第二绑定'| | crlf||
'内容类型:文本/普通;'| | crlf||
“name=”file.txt“| | crlf||
“内容传输编码:8bit”| crlf||
“内容配置:附件;”| | crlf||
'filename=“attachment.txt”| | crlf||
crlf||
p| U消息| crlf | |--附件内容
crlf||
'----SECBOUND--'-结束MIME邮件
);
UTL_SMTP.quit(v_连接);
例外情况
当utl_smtp.Transient_错误或utl_smtp.Permanent_错误时
引发应用程序错误(-20000,“无法发送邮件”,为真);
结束;
1) 我可以直接通过电子邮件发送生成的报告吗?我尝试在destype和desname中传递参数'MAIL'和'Email address',但我猜需要进行一些设置吗

2) 我如何使用电子邮件程序将上述报告作为附件发送

3) 如何将用户PC中生成的报告pdf复制到服务器上的特定目录?因为我有一个单独的电子邮件程序,我可以直接从服务器发送PDF。用户拥有Windows PC,而服务器是LINUX

4) 直接在服务器上生成PDF格式的报告,以便我可以使用程序(#3点)通过电子邮件发送报告