Export von Files aus einem BLOB

Themen rund um den praktischen Einsatz von Firebird. Fragen zu SQL, Performance, Datenbankstrukturen, etc.

Moderator: thorben.braun

Antworten
palinn
Beiträge: 1
Registriert: Mo 9. Mai 2022, 10:18

Hallo liebe Forengemeinde,

ich wurde aktuell das erste mal mit FireBird konfrontiert. Eigentlich komme ich aus einer anderen Datenbank-Umgebung, deswegen wollte ich euch um Hilfe bitten.

Ich muss aus einer FireBird 2.5.8 Datenbank aus einem bestimmten Table PDF's auslesen und lokal speichern, welche sich in einem BLOB-Field befinden. Dabei soll die Datei über einen in dieser Tabelle enthaltenen Schlüssel benannt werden.

Ich habe mich da bislang auf kein Mittel festgelegt. Ich habe beim Recherchieren viele Möglichkeiten gefunden so etwas selbst zu schreiben, dafür muss man dann aber auch die entsprechende Sprache beherrschen.

Gibt es für so etwas eine Anwendung?
Hat mit dieser Aufgabe schon jemand Erfahrung?

Ich bin für jede Hilfe dankbar.

Liebe Grüße

Pascal
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Nein, fertiges gibt es dafür nicht, da es ja die Anwendung ist, die in die DB geschrieben hat, weiß, wie die Dokumente gespeichert sind.
Am einfachsten sind halt Sprachen wie .Net, Java, PHP.
Es funktioniert ebenso auch mit VBA (in z.b. Excel) und dem FB-ODBC-Treiber.

Jedoch haben alle Sprachen etwas gemeinsam:
Der Zugriff erfolgt via Bibliotheken, den darin enthaltenen Objekten und SQL.

z.B. .Net

Code: Alles auswählen

var fbConnection = new FBConnection(@"database=\Path\Name");
fbConnection.Open("SYSDBA", "masterkey");
var fbCommand = fbConnection.CreateCOmmand();
fbCommand.CommandText = "Select data from mytable where key='docId'";
byte[] data = fbCommand.ExecuteScalar();
fbConnection.Close();
Ab dort hast du nun das Problem, welche Daten stehen im byte-Array.
Sind es native Daten?
Wurden die Daten ggf. komprimiert oder verschlüsselt?

Die einfachste Methode wäre dann in .Net:

Code: Alles auswählen

File.WriteAllBytes("/path/Name.ext", data);
Hamburgo
Beiträge: 125
Registriert: Di 28. Mai 2019, 17:28

Hallo Pascal,

unter dem Titel "Beispiel update Blob-Feld" von Ende Feb. 2021
hat Martin mir mal die nötigen Funktionen für PHP bereitgestellt,
um Binär-Blobs zu im- und ex-portieren.

Nach ein paar Anlaufschwierigkeiten klappt das wunderbar für alle Grafik-Formate,
natürlich auch PDF's.

Vielleicht hilft das Beispiel Dir weiter.
Antworten