Jump to content

SQLPutData -> Fehler 22001 (String data right truncation)


Recommended Posts

Guten Tag,

 

die Frage ist eher zu ODBC als zum SQL Server - ich hoffe, sie sit nicht ganz OT hier. Ich implementiere in einem ANSI C Programm Lesen und Schreiben der BLOB-Felder von unbekannter Größe (Tabellen-Feld: VARBINARY(MAX)). Die Idee ist - lesen und schreiben in Segmenten und im Programm Speicher nach dem Bedarf allozieren.

Habe die Benutzeranleitung zu den Funktionen SQLBindParameter, SQLParamData, SQLPutData (fürs Schreiben) и SQLGetData (fürs Lesen) mehr oder weniger verstanden. Als Erstes habe ich versucht, ein 40K array mit Ziffern 0-9 zu füllen, in 1К-Segmenten mit SQLPutData zu schreiben, dann Lesen und wieder schreiben - alles funktionierte. Als 2. Schritt habe ich die realen Daten (gespeichertes Bild) gelesen. Größe mit DATALENGTH() geprüft -7233. Beim Lesen - kein Problem. Beim Schreiben auch - solange ich die ersten 7 Segmente schreibe. Aber beim Rest von 233 Bytes kommt ein Fehler 22001 (String data right truncation). Durch Lesen der Fehlerbeschreibung in Microsoft-Doku wurde ich nicht  wirklich schlau. Rest vom array nach 7233 Bytes ist mit 0 (binär) gefüllt - warum meint der ODBC-Driver, dass "more data was send for a long parameter... than was specified in the length buffer"??? Ich habe schon alles mögliche versucht - komme aber nicht weiter. Hat jemand eine Idee?

Link to post

Moin,

 

möglicherweise bist du in einem Developer-Board besser mit deiner Frage aufgehoben. Hier sind hauptsächlich "Admins" unterwegs. Es gibt zwar auch Devs hier und Leute, die sich mit Softwareentwicklung auskennen, aber es ist eben kein Dev-Board.

 

Gruß, Nils

 

Link to post
vor 4 Minuten schrieb NilsK:

Moin,

 

möglicherweise bist du in einem Developer-Board besser mit deiner Frage aufgehoben. Hier sind hauptsächlich "Admins" unterwegs. Es gibt zwar auch Devs hier und Leute, die sich mit Softwareentwicklung auskennen, aber es ist eben kein Dev-Board.

 

Gruß, Nils

 

alles klar, Danke trotzdem!

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...