ORACLE utl_mail

cullmann

Mitglied
Servus alle zusammen,

wollte mir gerade das schöne utl_mail package von Oracle installieren... hat auch geklappt:

Code:
@c:\utlmail.sql;

@c:\prvtmail.plb;

ALTER SYSTEM SET SMTP_OUT_SERVER='smtp.fh-trier.de' SCOPE=SPFILE;

Nur bekomme ich beim aufruf immer die Fehlermeldung das der Body von utl_mail fehlerbeinhaltet. Jetzt frage ich ich mich ob der Wrapper der den body interpretieren soll auch bei mir läuft? Wie sollte sich sonst ein fehler im body eingeschlichen haben


Besten Dank

cullmann
 
Zuerst einmal, hast du die Datenbank neu gestartet? Wenn du den Parameter SMTP_OUT_SERVER nur ins SPFILE schreibst, wird er erst beim nächsten Start der Datenbank gültig. SCOPE=BOTH funktioniert bei diesem Parameter auch.

Bei den gewrappten plb Files ist es wichtig, dass sie zur Datenbankversion passen, also alle Packages am besten immer aus dem ORACLE_HOME Verzeichnis des Datenbankservers nehmen.

Um den Fehler etwas präziser zu bestimmen solltest du mal in die View DBA_ERRORS reinschauen. Alternativ geht in SQL*Plus auch SHOW ERRORS PACKAGE BODY UTL_MAIL
 
Servus,

sorry aber ich bekomme, wenn ich deinen Befehl ausführe nur dieses Antwort:
Code:
SHOW ERRORS PACKAGE BODY UTL_MAIL

line 1: SQLPLUS Command Skipped: SHOW ERRORS PACKAGE BODY UTL_MAIL

und ich kann damit beim besten willen nix anfangen.

Habe die DB neu gestartet und Datein stammten auch alle aus der richtigen Home Verzeichnis.
Ich hätte aber mal noch ne andere Frage:
habe im netz gelesen das ich bei utl_smtp auch ne kennung und nen pwd übergeben kann, also wenn ich auf keinen eingen smtp zugreife, jetzt frage ich mich ob das auch bei utl_mail möglich ist, wenn nicht kann ich mir das ganze sparren und gleich auf utl_smtp umsteigen.

gruß

cullmann
 
mist wollt dir ja noch die Fehlermeldung zeigen:

Code:
Error: PLS-00753: Wrapped Unit in falschem Format oder beschädigt

vielleicht kannst du damit was anfangen.
 
Also der Fehler sagt definitiv, dass der gewrappte Code korrupt ist. Ich kann mir nur vorstellen, dass es doch die falsche Version ist, oder dass die Datei geändert wurde.

PLS-00753: malformed or corrupted wrapped unit
Cause: The format of the wrapped unit being compiled is not understood by the compiler. This may be because the unit was edited or modified after it was wrapped.
Action: Rewrap the unit. NLS_DO_NOT_TRANSLATE [800,800]


Frage: Warum führst du die Scripte von C:\ aus und nicht aus dem Oracle Home ala
Code:
@?\rdbms\admin\utlmail.sql;
@?\rdbms\admin\prvtmail.plb;
das "?" wird automatisch durch das ORACLE_HOME ersetzt
 
hatte das vorher aus dem sql developer gestartet, das ging aber net. SQLPlus hat das ? angenommen. Ok bekomme aber gleich ne andere Fehlermeldung:

SQL> @?\rdbms\admin\prvtmail.plb;

Warnung: Paketrumpf wurde mit Kompilierungsfehlern erstellt.

Code:
Fehler bei PACKAGE BODY UTL_MAIL:

LINE/COL ERROR
-------- -----------------------------------------------------------------
319/5    PL/SQL: SQL Statement ignored
320/10   PL/SQL: ORA-00942: Tabelle oder View nicht vorhanden
325/7    PL/SQL: SQL Statement ignored
326/12   PL/SQL: ORA-00942: Tabelle oder View nicht vorhanden
SQL>

Ich weiß langsam echt nicht weiter.....
 
Sooo schlecht siehts gar nicht aus, mit welchem Benutzer versuchst du denn das Package einzuspielen? Ich denke das geht nur mit SYS ?!

UTL_MAIL kann übrigens keine Authentifizierung am SMTP Server und einen Datenbankparameter hab ich auch noch nicht gefunden. Es könnte allerhöchstens sein, dass man es in den SMTP_OUT_SERVER Parameter einbauen kann, z.B. "<user>:<pwd>@host", ist aber eher unwahrscheinlich. Muss ich bei Gelegenheit mal testen.

In dem Fall bleibt dann wirklich nur UTL_SMTP, das ist halt nur leider um Längen komplizierter, da du alle Mail Header etc. selber zusammenbauen musst. Grade bei Attachements ist das natürlich ätzend! Aber UTL_MAIL gibts noch nicht so lange, d.h. es sollte genügend Beispiel im Netz zu UTL_SMTP geben.
 
Habs versucht als system einzuspielen.
Dann kann ich das also voll vergessen mit utl_mail... schöner käse!

Hab tausend dank für deine hilfe, dann mach ich mich mal an utl_smtp ran
 
Zurück