【发布时间】:2010-09-16 20:40:03
【问题描述】:
我在使用 Oracle 10g 中的 UTL_MAIL 包时遇到了一些问题,想知道是否有人有任何解决方案?
我以 SYSMAN 身份连接到我的数据库并加载以下两个脚本;
@C:\oracle\product\10.2.0\db_1\rdbms\admin\utlmail.sql
@C:\oracle\product\10.2.0\db_1\rdbms\admin\prvtmail.plb
我设置了 SMTP 服务器;
ALTER SYSTEM SET smtp_out_server='mymailserver.fake:25' SCOPE=BOTH;
我授予用户所需的权限;
在 utl_mail TO MYUSER 上执行;
但是,如果我连接到“MYTABLESPACE”(MYUSER 所在的位置),如果我引用 UTL_MAIL.SEND,则会收到以下错误;
PLS-00201:必须声明标识符“UTL_MAIL.SEND”
如果我在它前面加上 SYSMAN (SYSMAN.UTL_MAIL.SEND),它可以工作,但我不想这样做,因为包含此调用的这个过程不知道安装脚本的表空间。
有没有办法安装这些脚本,以便它们可以普遍访问,并且不需要 SYSMAN 前缀来执行?
干杯,
克里斯
【问题讨论】:
-
除了添加
PUBLIC同义词外,最好按照 Oracle 专家的建议使用SYSDBA安装它。在这里阅读更多:dba-oracle.com/oracle_tips_10g_utl_mail.htmoracle-base.com/articles/10g/plsql-enhancements-10g#UTL_MAIL