Oracle:发送邮件时受VARCHAR2变量的32K限制约束

时间:2016-06-23 08:45:20

标签: sql database oracle email

我正在尝试使用

通过oracle存储过程发送HTML邮件
SYS.UTL_MAIL.send

但不幸的是,身体受到varchar长度32k的限制,在很多情况下都会超过这个范围。

我可以用什么而不是上面的方法发送这么长的邮件?

1 个答案:

答案 0 :(得分:0)

使用CLOB or NCLOB datatype

  

CLOBNCLOB数据类型在数据库中最多可存储128 TB的字符数据。 CLOB存储数据库字符集数据,NCLOB存储Unicode国家字符集数据。在内部以固定宽度的Unicode字符集存储不同宽度的LOB数据使Oracle数据库能够在CLOBNCLOBs上提供基于字符的高效随机访问。

互联网上有多个关于如何在电子邮件中发送CLOB值的例子(遗憾的是,他们都没有详细说明代码的许可证,所以我不会发帖):< / p>

这些解决方案不使用UTL_MAIL - AskTom's response to this question是:

  

附件的utl_mail接口接受32k RAW或32k VARCHAR2。

(即你可以,但有其他选择 - 请参阅上面的链接)