das Thema ist nicht neu, mir sind die anderen Foren Artikel auch bekannt, jedoch schein ich irgendein Detail zu übersehen.
Ich habe eine kleine Funktion, die eine Datei auslesen und diese als Blob in die DB schreiben soll. Ich habe 5 Binär Dateien.
Mit einer Datei funktioniert es immer, mit den anderen nie

Aus Copyrightgründen darf ich leider diese Dateien hier nicht angeben. Im folgenden aber ein kleiner Auszug aus meinem Source:
Code: Alles auswählen
Structure Binary
buffer.l
size.l
EndStructure
Enumeration #PB_Compiler_EnumerationValue
#database
#binfile
EndEnumeration
;--------------------------------- import binary from file to database
Procedure ImportBin()
Protected xxxbin.binary
Protected File.s
Protected maxid.l
maxid=0
File = OpenFileRequester("Bitte Datei zum Laden auswählen","","Binary (*.bin)|*.bin",0)
If File
If ReadFile(#binfile,file)
xxxbin\size=Lof(#binfile)
xxxbin\buffer=AllocateMemory(xxxbin\Size)
ReadData(#binfile,xxxbin\buffer,xxxbin\size)
If DatabaseQuery(#database, "SELECT max(idnr) FROM bin")
NextDatabaseRow(#database)
maxid=GetDatabaseLong(#database,0)
FinishDatabaseQuery(#database)
EndIf
SetDatabaseBlob(#Database,0,xxxbin\buffer,xxxbin\Size)
If DatabaseUpdate(#Database,"insert into bin (idnr,binary,info) values ("+Str(maxid+1)+", ?,'"+GetFilePart(file)+"');")
MessageRequester("Info",GetFilePart(file)+" wurde erfolgreich importiert!",#MB_ICONINFORMATION)
Else
MessageRequester("Fehler",DatabaseError(),#MB_ICONERROR)
EndIf
FreeMemory(xxxbin\buffer)
CloseFile(#binfile)
EndIf
EndIf
EndProcedure
An der Größe der Dateien liegt es wahrscheinlich auch nicht, da diese nur ein paar kb groß sind und die, bei der es funktioniert, am größten ist.
Ich scheine gerade den Wald vor lauter Bäumen nicht zu sehen.

Ich wäre dankbar für jeden Hinweis

PS: ich benutze die Struktur aus diversen Gründen, der Code hier ist jedoch runter gebrochen auf das Nötigste.