存储过程不能发邮件,邮件可以通过向表内插入数据,然后通过数据再调动外部程序进行发送.oracle内部程序本身没有发送邮件的功能. 现在一般是建立外部流程发邮件.
你这种情况最合适用事件驱动类提醒服务,了解一下:喵提醒,通过一个http请求就可以给你发手机信息,支持传参,还支持短信和语音电话.
分两步做,
①oracle 当表中数据发生变化insert或者update
这个需要触发器的,但是触发器的作用也无非是数据库层面的操作,这样最好触发添加一条记录到邮件通知表,这个表加个状态state=0
一般不建议数据库服务器直接与外部连接.建议用第三方软件,比如easysqlmail之类的.第一,安全,第二,简单.自己集中精力把sql写好就可以了.望采纳.
Oracle 提供了一个SendMail的套件: utl_smtp.
可以利用utl_smtp来在PL/SQL发送邮件.
utl_smtp相关函数以及用法如下所示.
declare
mail_conn?utl_smtp.connection;?--定义
begin
--?开启?Mail?Connection
mail_conn?:=?utl_smtp.open_connection(mailhost);
--?建立连接
utl_smtp.helo(mail_conn,?mailhost);
--?设定发件者
--?设定收件者
--?设定邮件内容
utl_smtp.data(mail_conn,?'Subject:Oracle?Send?Mail?Test'?||?utl_tcp.CRLF?||
'Hello?World!'
);
--?关闭连接
utl_smtp.quit(mail_conn);
在 Oracle 的运维过程中,常常需要监控任务执行情况,这时候如果用 Java 或 Python 都可以自定义一个发邮件提醒的功能,但如果能调用 Oracle 自带的的一些包来实现邮件提醒,不仅调用方便,而且提醒的灵活度更高(可以插在存储过程的任意一个犄角旮旯里).
这里有两篇文章,详细介绍了调用 Oracle 系统包实现邮件提醒功能的两种方法:
以上就是土嘎嘎小编为大家整理的oracle如何发送邮件相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!