2016-06-23 68 views
0

我試圖通過Oracle存儲過程來發送HTML郵件時,通過在VARCHAR2變量32K限制約束甲骨文:發送郵件使用郵件

SYS.UTL_MAIL.send 

但不幸的是身體被VARCHAR長度32K將在超過限制很多場景。

什麼我可以使用而不是上述方法發送這樣的長郵件?

+2

32K是真的,真的很長的電子郵件。考慮使用附件。 –

+1

https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:494228200346768899 – Mottor

+2

[UTL_SMTP](https://oracle-base.com/articles/misc/電子郵件從甲骨文-PLSQL)。即使有附件也有工作示例。 –

回答

0

使用CLOB or NCLOB datatype

CLOBNCLOB數據類型最多存儲到數據庫中的128兆兆字節的字符數據。 CLOB s存儲數據庫字符集數據,並且NCLOB s存儲Unicode國家字符集數據。將寬度可變的LOB數據存儲在固定寬度的Unicode字符集內部使Oracle數據庫能夠在CLOB s和NCLOBs上提供高效的基於字符的隨機訪問。

還有的那麼如何在電子郵件中發送CLOB值在互聯網上提供多個實例(不幸的是他們沒有詳細的代碼的許可證,所以我不會交叉後):

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

到UTL_MAIL電子郵件附件的接口可以接受一個32K RAW或32K VARCHAR2。

(即你不能,但有替代品 - 見上面的鏈接)

+0

也許再次讀到OP的問題。 – dcieslak

+0

但方法accept varchar不CLOB –

+1

@AhmedEmad - 哪種方法 - 'utl_mail.send'?你問「我可以用什麼來代替」,這個答案明確地說要使用替代方法,並且有一些使用'utl_smtp'的例子。 –