Access Blob und Gifs Binär

Anfängerfragen zum Programmieren mit PureBasic.
TheSaint
Beiträge: 143
Registriert: 21.12.2008 18:59

Beitrag von TheSaint »

Hallo ts-soft,

danke für Deine Hilfe und Geduld.

Ich hatte schon etwas weiter oben gefragt, ob es möglich ist,
die in der Access Datenbank gespeicherten Blob (Bilder und Gifs)
in eine Sqlite Datenbank 1:1 zu übernehmen.

Oder muss ich diese Bilder neu in die Sqlite Datenbank speichern.
Also vom Dateifile in die Sqlite Datenbank?

Nochmal vielen Dank.
Gruß, TheSaint
___________________________
[ XP Prof SP 3 | Vista | PB 4.30 ]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TheSaint hat geschrieben:Ich hatte schon etwas weiter oben gefragt, ob es möglich ist,
die in der Access Datenbank gespeicherten Blob (Bilder und Gifs)
in eine Sqlite Datenbank 1:1 zu übernehmen.
da hatte ich Dich falsch verstanden. Ich bin davon ausgegangen, dass Du
komplett von Access weg möchtest und nun eine Alternative suchst.

Es ist prinzipiell möglich, 2 Datenbanken (Access für die Daten & SQLite
für die BLOBs) parallel zu betreiben. Allerdings ist das eher unüblich.
Datenbankübergreifende Queries sind somit beispielsweise nicht möglich.
TheSaint hat geschrieben:Oder muss ich diese Bilder neu in die Sqlite Datenbank speichern.
Also vom Dateifile in die Sqlite Datenbank?
wenn Du Dich für SQLite entscheidest, wäre das der empfohlene Weg.
Das ist aber (je nach Komplexität der Access-DB) mit einigem Aufwand
verbunden.

Hier aber noch mal eine andere Alternative, die es Dir ermöglicht, BLOBs in
Access zu speichern: Konvertiere die binären Daten einfach Base64
(dafür eignen sich die PB-eigenen Funktionen Base64Decoder() und
Base64Decoder()). Hierbei werden 'Binär'-Daten in ASCII-Daten
gewandelt. Der String, der hierbei entsteht, kann dann problemlos in
ein Access-Memofeld eingetragen werden. Der Nachteil hierbei ist
allerdings, dass die zu speichernde binäre Datenmenge dann bis zu 33%
größer sein kann.

harkon hat im englischen Forum vor kurzem Routinen vorgestellt
(yEncode und yDecode), die einen ähnlichen Ansatz (Binär -> ASCII)
vorgestellt. Allerdings hat diese nicht so einen großen Overhead.

Grüße ... Kiffi
a²+b²=mc²
TheSaint
Beiträge: 143
Registriert: 21.12.2008 18:59

Beitrag von TheSaint »

Hallo Kiffi,
Kiffi hat geschrieben:da hatte ich Dich falsch verstanden. Ich bin davon ausgegangen, dass Du
komplett von Access weg möchtest und nun eine Alternative suchst.
Also Du hattest mich schon richtig verstanden. Ich wollte von Access weg.
Nur wusste ich nicht ob ich alle Daten aus Access heraus nach SQlite importieren kann, wie z. B. die gespeicherten Bilder (Blobs).

Also ist Deine Empfehlung die Bilder neu in SQlite zu speichern.
OK. Viel arbeitet, aber wenn das die bessere Lösung ist. Na dann ran.

Zur Zeit bin ich dabei einen Code zu erstellen um auf die Access Datenbank zuzugreifen und die Tabellen (Daten) in SQlite zu übertragen.

Jedoch weis ich nicht wie ich dann die Berichte (Reports) übernehmen muss. Aber wahrscheinlich muss ich auch hier neue Reports erstellen, bzw. das mit PureBasic machen ?? !!

Muss mal schaun ob es Infos zu dem Berichtdruck gibt.

Vielen Dank für Deine / Eure Hilfe.
Gruß, TheSaint
___________________________
[ XP Prof SP 3 | Vista | PB 4.30 ]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TheSaint hat geschrieben:Na dann ran.
HALT! STOP! :-)

Berichte gibt es in SQLite nicht. Das solltest Du wissen, bevor Du Dir jetzt
unnötig viel Arbeit machst.

Grüße ... Kiffi

NurNeInfo: srod aus dem englischen Forum hat ein kostenpflichtiges Stück
Software
entwickelt, mit dem man Reports erstellen kann. Der dazugehörige
Designer soll demnächst fertig werden.
a²+b²=mc²
TheSaint
Beiträge: 143
Registriert: 21.12.2008 18:59

Beitrag von TheSaint »

Kiffi hat geschrieben:
TheSaint hat geschrieben:Na dann ran.
HALT! STOP! :-)

Berichte gibt es in SQLite nicht. Das solltest Du wissen, bevor Du Dir jetzt
unnötig viel Arbeit machst.
Hm, danke für die Info.
Aber, ist es denn nicht möglich mit PB z. B. eine Liste auszudrucken?
Also ich hole die Daten aus SQlite, und lasse mit PB diese Daten dann als Liste ausdrucken?
Müsste auch Etiketten ausdrucken...

Kann ich sowas denn auch mit PB programmieren?
Oder geht das gar nicht?
Oder nur mit dem Designer der noch nicht fertig ist?

Schon mal vielen Dank für Deine Mühe
Gruß, TheSaint
___________________________
[ XP Prof SP 3 | Vista | PB 4.30 ]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TheSaint hat geschrieben:Kann ich sowas denn auch mit PB programmieren?
natürlich kannst Du das. Ist nur die Frage, ob Du Dir den Aufwand antun
willst, wenn Du mit Access doch schon was funktionierendes hast.

Gerade das Drucken ist eine meiner "Lieblingsdiszplinen". Für so einen
Knüselkram bin ich einfach nicht geboren. :lol:
TheSaint hat geschrieben:Oder nur mit dem Designer der noch nicht fertig ist?
mit dem wird das (so wie ich srod einschätze) wesentlich einfacher gehen.

Grüße ... Kiffi
a²+b²=mc²
TheSaint
Beiträge: 143
Registriert: 21.12.2008 18:59

Beitrag von TheSaint »

Hallo Kiffi,
Kiffi hat geschrieben: natürlich kannst Du das. Ist nur die Frage, ob Du Dir den Aufwand antun
willst, wenn Du mit Access doch schon was funktionierendes hast.
Ja darüber hab ich ja auch schon nachgedacht. Ich habe da auch sehr viel Zeit investiert in die Access Datenbank. Viele Reports, Module,...
Hatte gedacht ich könnte mich von Access ansich trennen und es mit PB alles machen.
Kiffi hat geschrieben:Gerade das Drucken ist eine meiner "Lieblingsdisziplinen". Für so einen
Knüselkram bin ich einfach nicht geboren. :lol:
Tja, Du hast mich auf SQlite gebracht und auf die Idee es umzusetzen :wink: , also... musst du mir dann auch mit Deiner Lieblingsdiziplin helfen :lol:

Hm, nun ist guter Rat teuer. Steh, wie der Ochs vorm Berg,..

Schon mal vielen Dank.
Gruß, TheSaint
___________________________
[ XP Prof SP 3 | Vista | PB 4.30 ]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TheSaint hat geschrieben:Module,...
und noch etwas, was in SQLite nicht funktioniert. Müsstest Du dann auch mittels PB erledigen.

So wie ich das derzeit sehe, bist Du mit Access momentan besser beraten
(=weniger Arbeit), wenn Du die BLOBs wie beschrieben mit Base64
schreibst / liest. Sollte in PB mit den Standard-DB-Befehlen wunderbar
funktionieren.

Grüße ... Kiffi
a²+b²=mc²
TheSaint
Beiträge: 143
Registriert: 21.12.2008 18:59

Beitrag von TheSaint »

Hallo Kiffi,

vielen Dank für Deine Unterstützung und Hilfe.
Kiffi hat geschrieben:Konvertiere die binären Daten einfach Base64
(dafür eignen sich die PB-eigenen Funktionen Base64Decoder() und
Base64Decoder()).
Das werde ich mir mal ansehen.

Kiffi hat geschrieben:harkon hat im englischen Forum vor kurzem Routinen vorgestellt
(yEncode und yDecode), die einen ähnlichen Ansatz (Binär -> ASCII)
vorgestellt. Allerdings hat diese nicht so einen großen Overhead.
Puh, ganz schön schwierig für mich.. Da brauch ich länger um das umzusetzen, denke ich.

Müsste ja dann bei beiden Möglichkeiten eine neue Spalte in Access anlegen (das stellt kein Problem dar) und dann mit PB die Binärdaten umwandeln und wieder in Access speichern.. Hm,...
Muss mal kucken ob ich das hinkriege...

Schon mal vielen Dank. Find ich toll das Du mir soviel hilfst. :D
Gruß, TheSaint
___________________________
[ XP Prof SP 3 | Vista | PB 4.30 ]
Antworten