Oracle 10.x で utl_mail プロシージャを使用していますが、長さが 4000 文字を超える値をメッセージの varchar2 入力に渡そうとすると、エラーが発生することに気付きました: 4000 は機能しますが、4001 は失敗します。これはハードコーディングされた制限ですか、それともこれを増やすために変更できる設定はどこかにありますか? 32000が限界かと思ってた…
マイクを助けてくれてありがとう
UTL_MAILは UTL_SMTP の単純なラッパーであり、通常は短い単純なメールにのみ使用されます。
UTL_MAIL.SEND (
sender IN VARCHAR2,
recipients IN VARCHAR2,
cc IN VARCHAR2 DEFAULT NULL,
bcc IN VARCHAR2 DEFAULT NULL,
subject IN VARCHAR2 DEFAULT NULL,
message IN VARCHAR2,
mime_type IN VARCHAR2 DEFAULT 'text/plain; charset=us-ascii',
priority IN PLS_INTEGER DEFAULT NULL);
代わりにUTL_SMTPを使用すると、UTL_SMTP.DATA を繰り返し呼び出すことで、任意の長さの電子メールを送信できます。
varchar2 は 4000 に制限されています