SunnyBunny
Mitglied
Hallo,
ich hoffe dass es hier in der richtigen Forumecke ist:
Ich schreibe gerade ein Programm für eine Bilddatenbank (Bitte keine Disukussion ob das sinnvoll ist
) mit VS6.0.
Über ein Recordset lade ich die Bilder und Daten in meine Datenbanken.
Im ACCESS funktioniert Ein- und Auslesen mit dem Datentyp LongBinary fehlerfrei.
Im MSSQL funktioniert Selbiges mit dem Datentyp IMGAE.
Im Sybase habe ich mein Problem:
Datentyp Long Binary gibt es auch, theoretisch bis 2GB Größe, IMAGE ist die abgewandelte Form von Long Binary die NULL erlaubt.
Bei beiden Datentypen kann ich nur kleine Bilder (5kb, 27kb) ein- und auslesen, größere (117kb) geben beim Einlesen keinen Fehler, jedoch beim Auslesen heisst es dann
"Daten abgeschnitten."
Hier mein Code-Schnipsel im Recordset zum Datei in die Datenbank laden:
Im DoFieldExchange habe ich m_BildDat als RFX_Binary,
und im Header CByteArray m_BildDat, für MSSQL und ACCESS funbktioniert es wie gesagt problemlos.
Kann mir jemand sagen wie da eine Größenlimitierung hineinkommt, oder ob ich einen anderen Fehler mache?
ich hoffe dass es hier in der richtigen Forumecke ist:
Ich schreibe gerade ein Programm für eine Bilddatenbank (Bitte keine Disukussion ob das sinnvoll ist

Über ein Recordset lade ich die Bilder und Daten in meine Datenbanken.
Im ACCESS funktioniert Ein- und Auslesen mit dem Datentyp LongBinary fehlerfrei.
Im MSSQL funktioniert Selbiges mit dem Datentyp IMGAE.
Im Sybase habe ich mein Problem:
Datentyp Long Binary gibt es auch, theoretisch bis 2GB Größe, IMAGE ist die abgewandelte Form von Long Binary die NULL erlaubt.
Bei beiden Datentypen kann ich nur kleine Bilder (5kb, 27kb) ein- und auslesen, größere (117kb) geben beim Einlesen keinen Fehler, jedoch beim Auslesen heisst es dann
"Daten abgeschnitten."
Hier mein Code-Schnipsel im Recordset zum Datei in die Datenbank laden:
Code:
rs->AddNew()
CByteArray BlobFile;
BlobFile.RemoveAll();
CFile aFile(Bildpfad_,CFile::modeRead);
BlobFile.SetSize(aFile.GetLength());
aFile.Read(BlobFile.GetData(),aFile.GetLength());
aFile.Close();
rs->m_BildDat.Copy(BlobFile);
rs->Update();
Im DoFieldExchange habe ich m_BildDat als RFX_Binary,
und im Header CByteArray m_BildDat, für MSSQL und ACCESS funbktioniert es wie gesagt problemlos.
Kann mir jemand sagen wie da eine Größenlimitierung hineinkommt, oder ob ich einen anderen Fehler mache?