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
Export von Files aus einem BLOB
Moderator: thorben.braun
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
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:
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();
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);
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.
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.