2016-06-23 1 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/) email-from-oracle-plsql). 첨부 파일이있는 작업 예제가 있습니다. –

답변

0

사용은 CLOB or NCLOB datatype :

CLOBNCLOB 데이터 유형은 데이터베이스에서 문자 데이터의 128 테라 바이트까지 저장할 수 있습니다. CLOB은 데이터베이스 문자 집합 데이터를 저장하고 NCLOB은 유니 코드 국가 별 문자 집합 데이터를 저장합니다. 다양한 너비의 LOB 데이터를 고정 너비의 유니 코드 문자 집합에 내부적으로 저장하면 Oracle Database는 CLOBNCLOBs에 효율적인 문자 기반 임의 액세스를 제공 할 수 있습니다.

다음 전자 메일로 CLOB 값을 전송하는 방법의 인터넷에서 사용할 여러 예 (그들의 불행하게도 아무도 상세 코드의 라이센스가 내가하지 않습니다 크로스 게시물)이 있습니다

이 솔루션은 사용하지 않는 UTL_MAIL-AskTom's response to this question입니다 : 첨부 파일 UTL_MAIL하는

인터페이스는 32K RAW 또는 32K VARCHAR2 중 하나를 사용할 수 있습니다.

(즉 당신이 그러나이 대안없는 - 위의 링크 참조)

+0

OP의 질문을 다시 읽었을 수 있습니다. – dcieslak

+0

하지만 메서드는 CLOB가 아닌 varchar를 사용합니다. –

+1

@AhmedEmad - 어떤 메소드 - 'utl_mail.send'입니까? 당신은 "내가 대신 사용할 수있는 것"을 물었습니다.이 대답은 대안을 사용하는 것이 분명하다고 말했고,'utl_smtp'를 사용하는 예제가 있습니다. –