Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem: Strings nur noch bis 2048 Byte Länge? (https://www.delphipraxis.net/92585-problem-strings-nur-noch-bis-2048-byte-laenge.html)

emsländer 22. Mai 2007 19:56

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Zitat:

Zitat von marabu
Hallo,

mir fallen zwei Dinge auf:

Der resultierende SQL-String ist fehlerhaft, direkt nach der öffnenden Klammer fehlt ein Apostroph - mit Parametern wäre das nicht passiert. Es gibt auch noch andere gute Gründe für die Parametrisierung, aber wenn das Statement schon ohne Parameter aufgebaut werden soll, dann nimm wenigstens QuotedStr() für die einzelnen Werte, damit eventuell vorkommende Apostrophe verdoppelt werden und keine Syntaxfehler auf dem Server verursachen.

das hätte ich schon noch gemerkt.
Zitat:

Ein weiterer Punkt ist die Größenbeschränkung für ein SQL-Statement. Kann dein Datenbanksystem mit Statements größer als 64KB überhaupt umgehen?
Bis dahin komme ich im Moment gar nicht, aber zu Deiner Beruhigung: er kann.
Zitat:

Wie kommst du überhaupt darauf, dass der String bei 2048 Byte abbricht? Das kann eigentlich nur dein Editor verbrochen haben, mit dem du dir den String versuchst anzuschauen.
weil der bei einer anderen Routine (XML-zerpflücken) mit einer Fehlermeldung abbricht (findet das Statement nicht - klar: ist auch abgeschnitten).Freundliche Grüße[/quote]Mein Editor ist übrigens Ultraedit (13)

Gruss

EL

marabu 22. Mai 2007 20:23

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Wenn wirklich kein Null-Zeichen den String terminiert, dann muss er nach der Fertigstellung die von dir erwartete Länge haben. Das schließt nicht aus, dass die Länge zu einem späteren Zeitpunkt reduziert wird. Du schreibst, dass du erst durch die spätere Zerlegung des XML-Strings auf die Verstümmelung aufmerksam wurdest. Was passiert in der Zwischenzeit mit diesem String? Wurde der XML-Text korrekt in die Datenbank geschrieben? Nimmt das entsprechende Datenbankfeld vielleicht nur 2KB auf?

Freundliche Grüße

emsländer 22. Mai 2007 20:45

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Zitat:

Zitat von marabu
Wenn wirklich kein Null-Zeichen den String terminiert, dann muss er nach der Fertigstellung die von dir erwartete Länge haben. Das schließt nicht aus, dass die Länge zu einem späteren Zeitpunkt reduziert wird. Du schreibst, dass du erst durch die spätere Zerlegung des XML-Strings auf die Verstümmelung aufmerksam wurdest. Was passiert in der Zwischenzeit mit diesem String? Wurde der XML-Text korrekt in die Datenbank geschrieben? Nimmt das entsprechende Datenbankfeld vielleicht nur 2KB auf?

Freundliche Grüße

Hoi Marabu,

das Datenbankfeld ist vom Typ Image. Also soweit kein Thema. Das kommt auch in voller Länge wieder raus. Irgendwo beim Umeinanderschieben der Variablen passiert das. Ich bin aber dran! Das hat mit irgendwelchen Einstellungen/Beschränkungen des Delpi 2006 zu tun und trat definitiv mit dem Update der Berg-Lib in Erscheinung.

Gruss

EL

mkinzler 22. Mai 2007 20:49

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Also meiner Erfahrung nach gibt es in D2006 keine derartige Beschränkung

emsländer 22. Mai 2007 20:50

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Zitat:

Zitat von mkinzler
Also meiner Erfahrung nach gibt es in D2006 keine derartige Beschränkung

Hast ja Recht, ich meinte damit auch keine Beschränkung, sondern irgendeine Einstellung o.ä. ist wohl verborgen.

Gruss

EL

mkinzler 22. Mai 2007 20:51

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Versuch mal herauszufinden, wo genau die Kappung entsteht.

emsländer 22. Mai 2007 20:52

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Zitat:

Zitat von mkinzler
Versuch mal herauszufinden, wo genau die Kappung entsteht.

Da bin ich ja dran. Ich such mir nen Wolf ...
passiert aber nach genau 2048 Zeichen

Gruss

EL

alzaimar 22. Mai 2007 21:29

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Ich kann mir nicht vorstellen, das die Funktion schon den String (Result) abschnibbelt. Setz mal einen Breakpoint darauf und lass Dir die Länge anzeigen. Mit den Delphi-Mitteln (Wert anzeigen) wirst Du keine Sonne sehen: Denn die schnibbeln, aber nur für die Anzeige.

Also, nicht vom Delphi-Debugger entmutigen lassen.

emsländer 22. Mai 2007 22:11

Re: Problem: Strings nur noch bis 2048 Byte Länge?
 
Zitat:

Zitat von alzaimar
Ich kann mir nicht vorstellen, das die Funktion schon den String (Result) abschnibbelt. Setz mal einen Breakpoint darauf und lass Dir die Länge anzeigen. Mit den Delphi-Mitteln (Wert anzeigen) wirst Du keine Sonne sehen: Denn die schnibbeln, aber nur für die Anzeige.

Also, nicht vom Delphi-Debugger entmutigen lassen.

Hoi,

ich habs gefunden! Der eigentliche Fehler lag im SimploXML :evil: *grrrrrrrrrrr*
Dazu kommt: beim Debuggen zeigt Dir Delphi Strings nur bei 2048 Byte an! Das war mir nicht bekannt! Erst durch eingebaute Memotexte kam ich da weiter. Au man :wall: :wall: :wall:

Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz