我收到此错误消息:
Error at line 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: in "SYS.UTL_MAIL", line 654
ORA-06512: in "SYS.UTL_MAIL", line 671
ORA-06512: in "APPS.PR_MAIL_ME", line 44
ORA-06512: in line 2
这是我的代码,我的光标:
cursor email_detail is
select email
from
(
<the subquery>
)
where rn = 1
and status in ('WARNING','ERROR','STAND BY');
然后,我想使用LOOP传递utl_mail.send函数内的每封电子邮件
begin
for c in email_detail
loop
begin
utl_mail.send(sender => 'send@mail.com',recipients => c.email ,subject => 'Concurrents' ,message => 'adasdas');
end;
end loop;
end;
我已经尝试了很多次来解决这个问题,但是我失败了,您能帮我解决这个问题吗?
答案 0 :(得分:1)
在11g中,您需要在使用utl_mail
软件包之前执行以下命令:
@rdbms/admin/utlmail.sql
@rdbms/admin/prvtmail.plb
grant execute on utl_mail to <your_user_or_public>
现在,重要的一步是,您需要将电子邮件服务器的地址和端口添加到“ smtp_out_server
”初始化参数中。如果不这样做,当您尝试使用“ORA-06502: PL/SQL: numeric or value error”
软件包时,将会收到UTL_MAIL
错误。
有关smtp_out_server的更多详细信息,请参见此oracle文档。
干杯!