Prg2020 0 Geschrieben 18. Dezember 2020 Melden Teilen Geschrieben 18. Dezember 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? Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 18. Dezember 2020 Melden Teilen Geschrieben 18. Dezember 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 Zitieren Link zu diesem Kommentar
Prg2020 0 Geschrieben 18. Dezember 2020 Autor Melden Teilen Geschrieben 18. Dezember 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! Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 18. Dezember 2020 Melden Teilen Geschrieben 18. Dezember 2020 Hallo Kann es sein dass dein Record noch weitere Felder enthält? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.