oracle : odbc : insert : LONG
-
hallo zusammen,
ich verfluche schon seit einigen tagen das oracle system.
unserere anwendung soll per ODBC dort daten eintragen.
soweit gut, das einzige problem ist der datentyp "LONG"
für zeichenketten, die über 4000 hinausgehen, was leider auch vorkommt.sobald ich die anfrage abschicke bekomme ich ein fehler:
ora-01704: Zeichenfolge zu lang
bis jetzt ist mir noch keine professionelle lösung in den sinn gekommen, bzw.
noch habe ich keine gefunden.ich hab nur "irgendwo" im inet gelesen, dass man im sql statement zwischen ' und ' nur die begrenzten zeichen eintragen darf?
ein CONCAT im Update geht aber auch nichtwie löst der experte das?
vielen dank im voraus!liebe grüße
André
-
Ich kenn Oracle nicht, aber wenn der Datentyp ein BLOB-Datentyp ist, dann würde man das mit Streams machen.
-
Hallo Smeagol,
mir ist der String-Type LONG bisher nicht über den Weg gelaufen. Im Netz findet man nur Hinweise, dass der Typ veraltet ist und eigentlich bis 2GB Daten aufnehmen kann. Die Begrenzung auf 4000 Byte findet man in der Doku allerdings für den Typ VARCHAR2. Gibt's da vllt. ein implizite Konvertierung?
Grüße
don_basto
-
Hallo Leute,
über eine bindevariable hab ich es nun so mehr oder weniger hinbekommen.
leider ist dann nach 32000 schlussDECLARE my_var long:='hier ganz langer text > 400 zeichen'; BEGIN UPDATE PERSONENMERKMALE SET BESCHREIBUNG = (my_var) WHERE ID = 1; END;
dabei ist mir aufgefallen, dass ich gar keinen plan hab, wie
ein sqlstatement aussehen müsste um BLOB/CLOB zu füllen.
oder die angesprochenen streams von Joe?
hat jemand n beispiel, tipp oder link für mich?Danke schon mal!