Hallo
Ich habe eine Oracle 10g Datenbank in die ich eine große XML Datei als CLOB schreiben möchte. Leider habe ich sehr wenig Erfahrung mit Datenbanken im allgemeinen und Oracle im speziellen.
Um die Daten zu schreiben will ich die Funktion dbms_lob.write() verwenden. Diese soll angeblich auch mit großen Datenblöcken umgehen können. Allerdings schaffe ich es nicht mal diese Funktion aufzurufen. Dafür müsste ich ja PL/SQL verwenden. Dort scheint auch das Problem zu liegen. Ich habe folgenden fehlerhaften Code:
Die Fehlermeldung sieht so aus:
begin
update I_DOCUMENTTEMPLATE set xsltemplate = myClobVar;
end
ORA-06550: Zeile 1, Spalte 6:
PLS-00103: Fand das Symbol "" als eines der folgenden erwartet wurde:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
Das Symbol "" wurde ignoriert.
ORA-06550: Zeile 2, Spalte 55:
PLS-00103: Fand das Symbol "" als eines der folgenden erwartet wurde:
begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted delimited-identi
Eigentlich müsste der Code stimmen. Kann es auch sein das der Fehler mit der, von mir verwendeten, Eclipse DTP zusammen hängt? Gibt es vielleicht noch eine andere Möglichkeit einen großen CLOB in eine Oracle Datenbank zu schreiben oder steckt einfach nur ein simpler Fehler in meiner Abfrage?
Ich habe eine Oracle 10g Datenbank in die ich eine große XML Datei als CLOB schreiben möchte. Leider habe ich sehr wenig Erfahrung mit Datenbanken im allgemeinen und Oracle im speziellen.
Um die Daten zu schreiben will ich die Funktion dbms_lob.write() verwenden. Diese soll angeblich auch mit großen Datenblöcken umgehen können. Allerdings schaffe ich es nicht mal diese Funktion aufzurufen. Dafür müsste ich ja PL/SQL verwenden. Dort scheint auch das Problem zu liegen. Ich habe folgenden fehlerhaften Code:
Code:
delete from I_DOCUMENTTEMPLATE where name='VEN'; insert into I_DOCUMENTTEMPLATE (id, name) values ('30001', 'VEN'); declare myClobVar CLOB := 'string'; begin update I_DOCUMENTTEMPLATE set xsltemplate = myClobVar; end; commit;
begin
update I_DOCUMENTTEMPLATE set xsltemplate = myClobVar;
end
ORA-06550: Zeile 1, Spalte 6:
PLS-00103: Fand das Symbol "" als eines der folgenden erwartet wurde:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
Das Symbol "" wurde ignoriert.
ORA-06550: Zeile 2, Spalte 55:
PLS-00103: Fand das Symbol "" als eines der folgenden erwartet wurde:
begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted delimited-identi
Eigentlich müsste der Code stimmen. Kann es auch sein das der Fehler mit der, von mir verwendeten, Eclipse DTP zusammen hängt? Gibt es vielleicht noch eine andere Möglichkeit einen großen CLOB in eine Oracle Datenbank zu schreiben oder steckt einfach nur ein simpler Fehler in meiner Abfrage?
Comment