4

Oracle 10.x で utl_mail プロシージャを使用していますが、長さが 4000 文字を超える値をメッセージの varchar2 入力に渡そうとすると、エラーが発生することに気付きました: 4000 は機能しますが、4001 は失敗します。これはハードコーディングされた制限ですか、それともこれを増やすために変更できる設定はどこかにありますか? 32000が限界かと思ってた…

マイクを助けてくれてありがとう

4

2 に答える 2

5

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 を繰り返し呼び出すことで、任意の長さの電子メールを送信できます。

于 2010-11-03T00:34:55.470 に答える
1

varchar2 は 4000 に制限されています

于 2010-11-02T23:52:20.037 に答える