WEB开发网
开发学院数据库Oracle 使用Oracle实现实时通信 阅读

使用Oracle实现实时通信

 2006-08-05 11:58:16 来源:WEB开发网   
核心提示: procedure Send(pSender in varchar2,pRecipient in varchar2,pMailHost in varchar2,pCcRecipient in varchar2 := null,pSubject in varchar2 := null,pMe
procedure Send(pSender in varchar2,
pRecipient in varchar2,
pMailHost in varchar2,
pCcRecipient in varchar2 := null,
pSubject in varchar2 := null,
pMessage in varchar2 := null);
另一个版本只有当提供pMessage参数值时执行:

procedure Send(pMessage in varchar2);

第二个版本是用作调试的版本。 所有的电子邮件消息共用同样的发送者、接受者、邮件主机、抄送接受者和主题信息,这些都是我在会话的开始的时候设置好的。 下面是一个PL/SQL程序块的例子:

begin
EmailUtils.SetSender('WayneZ@MyCompany.com');
EmailUtils.SetRecipient('waynezheng@vip.sina.com');
EmailUtils.SetCcRecipient('WayneZ@MyCompany.com');
EmailUtils.SetMailHost('MyServer.MyCompany.com');
EmailUtils.SetSubject('DeleteClassifications procedure: Run 1');
end;
/

一个实际的电子邮件消息将在每个Send过程调用中被指定。 我们可以把所用的EmailUtils.Send()调用插入到我们调试的代码中,我们以前为了得到同样的调试结果使用的是DBMS_OUTPUT.PUT_LINE()调用。:

vMessage := 'Point 1.' || utl_tcp.crlf ||
'Rows processed: ' || to_char(vRows) || utl_tcp.crlf ||
'Elapsed time: ' || vTime;
EmailUtils.Send(vMessage);
vMessage := 'Point 3.' || utl_tcp.crlf ||
'Rows processed: ' || to_char(vRows) || utl_tcp.crlf ||
'Elapsed time: ' || vTime;
EmailUtils.Send(vMessage);

代码2显示带有重载Send过程的EmailUtils规格。 我们可以看到,Send过程的代码相当简单。 UTL_SMTP包不提供用于格式化消息内容的应用编程接口。 而是由用户负责格式化消息。 这就是为什么下列程序块要被包含到每个Send过程中以便格式化电子邮件的头部。

上一页  1 2 3 4  下一页

Tags:使用 Oracle 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接