我正在尝试使用
通过oracle存储过程发送HTML邮件SYS.UTL_MAIL.send
但不幸的是,身体受到varchar长度32k的限制,在很多情况下都会超过这个范围。
我可以用什么而不是上面的方法发送这么长的邮件?
答案 0 :(得分:0)
CLOB
和NCLOB
数据类型在数据库中最多可存储128 TB的字符数据。CLOB
存储数据库字符集数据,NCLOB
存储Unicode国家字符集数据。在内部以固定宽度的Unicode字符集存储不同宽度的LOB数据使Oracle数据库能够在CLOB
和NCLOBs
上提供基于字符的高效随机访问。
互联网上有多个关于如何在电子邮件中发送CLOB
值的例子(遗憾的是,他们都没有详细说明代码的许可证,所以我不会发帖):< / p>
loadjava
实用程序(或CREATE JAVA SOURCE
)将其上传到数据库中。这些解决方案不使用UTL_MAIL
- AskTom's response to this question是:
附件的utl_mail接口接受32k RAW或32k VARCHAR2。
(即你可以,但有其他选择 - 请参阅上面的链接)