1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
435
435
EMPFEHLEN
-
Hi,
ich habe hier eine kleine PHP Anwendung die im Backend auf eine Oracle 10g Datenbank zugreift. Ich verwende ADODB in der aktuellen Version zur Verbindung von PHP & Oracle.
Seit ein paar Tagen stehe ich nun vor einem Problem dessen Lösung ich einfach nicht finde. Ich versuche einen String mit mehr als 4000 Zeichen in die Datenbank zu schreiben. Das Feld ist vom Typ CLOB und sollte daher damit keine Probleme haben. Ich erhalte jedoch immer den Fehler "ORA-01704: string literal too long". Datensätze unter 4000 Zeichen sind kein Problem.
Kann mir jemand sagen ob ich ADODB erst mit meinen CLOB's bekannt machen muss und wenn ja wie das geht?Johannes Schmidt
:: http://www.schmidtjohannes.de
:: http://www.SECURITY-BLOG.EU
:: http://www.MCSEboard.de
:: http://www.ServerHowTo.de
-
10.01.12 11:51 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Hallo,
ich kenne ADODB jetzt grad nicht, unterstützt das Prepared Statements? Laut einem Foren-Eintrag im Orakel-Forum darf man davon ausgehen, das man (zu mindest bei CLOB) kein dynamisches Statement benutzen sondern statt dessen die Variable binden muss, die den Inhalt darstellt. Ich beziehe mich auf diesen Posting:
Das bedeutet, man müsste den Code zu Prepared Statements umbauen weil Binding nur dort zu bewerkstelligen ist.
Zitat von https://forums.oracle.com/forums/message.jspa?messageID=3287156#3287156
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hi!
danke für deine Antwort. Bei meinem alten (selbst geschriebenen) DB abstraction layer hatte ich das auch über bindings (empty_clob etc) implementiert. Bei der aktuellen Anwendung ist ADODB als DB Zugriffsschicht leider gegeben und grundsätzlich schreibt ADODB ja auch in clob felder - behandelt sie scheinbar aber wie varchars
Johannes Schmidt
:: http://www.schmidtjohannes.de
:: http://www.SECURITY-BLOG.EU
:: http://www.MCSEboard.de
:: http://www.ServerHowTo.de
-
10.01.12 16:24 #4
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Hast du es schon mit PS probiert? Hier im Manual hab ich ein Beispiel gefunden: http://phplens.com/lens/adodb/docs-adodb.htm#bind
Damit müsste es doch funktionieren.Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hi,
hab einen ähnlichen Weg in der Doku gefunden:
http://phplens.com/adodb/reference.f...pdateclob.html
Damit geht zwar für die Queries mit CLOB's die Fähigkeit flöten mit anderen DBMS Systemen zusammen zu arbeiten aber damit kann ich erst mal gut leben.
DankeJohannes Schmidt
:: http://www.schmidtjohannes.de
:: http://www.SECURITY-BLOG.EU
:: http://www.MCSEboard.de
:: http://www.ServerHowTo.de
Ähnliche Themen
-
$().appendTo() Firebugmeldung: unterminated string literal
Von BlubBlub im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 28.03.11, 15:52 -
Unterminated literal string - hilfe :(
Von Nizomi im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 30.01.08, 11:04 -
ORA 01704 - String literal too long
Von dasago im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 02.05.07, 10:06 -
String in Long umwandeln
Von chickenwings im Forum JavaAntworten: 4Letzter Beitrag: 06.10.06, 15:14 -
Line too long (5kb --> String)
Von Arne Buchwald im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 02.06.02, 22:02





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren