Problem bei Oracle 9, Package utl_smtp

  • #1
V

VoiD

Bekanntes Mitglied
Themenersteller
Dabei seit
05.06.2002
Beiträge
155
Reaktionspunkte
0
Hi,

ich hoffe dass es hier einen Oracle Fachmann gibt.
Ich habe hier eine Oracle 9i (v9.0.4) Datenbank, und möchte über das Package utl_smtp Mails versenden.

Der versand der Mails und das drumherum klappt alles, aber die im Mailtext enthaltenen Umlaute werden durch die entsprechende Vokale ersetzt, also
ä wird zu a
ü wird zu u
ö wird zu o.

Vermutlich liegt es daran, dass die default NLS auf amerikanisch steht.

Weiss jemand, wie man das in (meinem) Package mal kurzfristig auf deutsch umstellen kann?

Gruß
VoiDy
 
  • #2
DECLARE
c utl_smtp.connection;
PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
BEGIN
utl_smtp.write_raw_data(c, utl_raw.cast_to_raw(name ||->:-> || header || utl_tcp.CRLF));
END;
PROCEDURE put_line ( p_line_text in varchar2) is
begin
utl_smtp.write_raw_data(c, utl_raw.cast_to_raw(p_line_text || utl_tcp.CRLF));
end;
BEGIN
c := utl_smtp.open_connection('smtp-server.acme.com');
utl_smtp.helo(c,->foo.com');
utl_smtp.mail(c,->[email protected]');
utl_smtp.rcpt(c,->[email protected]');
utl_smtp.open_data(c);
send_header('From', ->Sender <[email protected]>'');
send_header('To', ->Recipient <[email protected]>');
send_header('Subject',->Chinese subject' );
put_line(''); -- Do not remove this line, otherwise the mail content will be empty !!!
put_line('Chinese messages');
utl_smtp.close_data(c);
utl_smtp.quit(c);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
utl_smtp.quit(c);
raise_application_error(-20000,
->Failed to send mail due to the following error:-> || sqlerrm);
END;
 
Thema:

Problem bei Oracle 9, Package utl_smtp

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben