Prg2020 0 Posted December 18, 2020 Report Posted December 18, 2020 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? Quote
NilsK 2,971 Posted December 18, 2020 Report Posted December 18, 2020 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 Quote
Prg2020 0 Posted December 18, 2020 Author Report Posted December 18, 2020 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! Quote
MDD 12 Posted December 18, 2020 Report Posted December 18, 2020 Hallo Kann es sein dass dein Record noch weitere Felder enthält? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.