Anzeige
Archiv - Navigation
1892to1896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Binäre Dateien verarbeiten

Binäre Dateien verarbeiten
25.08.2022 07:18:22
Jay
Hallo zusammen,
nachdem ich weder auf deutsch- noch englischsprachigen Foren fündig werde, bitte ich Euch um Unterstützung.
Ich habe eine PostgreSQL-Datenbank, darin Bytea-Felder gefüllt mit Dateien unterschiedlichster Art, wie PowerPoint, Word, jpg, pdf usw.
Die Datenbank selbst ist auf einem Server installiert, eine Verbindung zum lokalen Netzwerk gibt es nicht. (Ich bringe die Daten mit winscp von lokal zum Server, von dort aus mit INSERT zu Postgres.)
Nun müssen Clients via VBA die o. g. Dateien öffnen/lesen/verarbeiten können.
Über Datenbankforen bin ich soweit gekommen, dass die Lösung in VBA zu finden sein soll. Nachdem ich die Daten mit SELECT lese, muss ich wohl das Resultat "verarbeiten", um die Daten bzw. Dateien dann aus der Spalte lokal speichern zu können. Lokal gespeichert kann ich dann "alles" damit machen.
Wer kann mir bitte helfen? Zugriff ganz normal erstmal über ADODB, Recordset.open, SELECT usw.? Lese ich dann erstmal nur das rcs.fields("MeinByteaFeld").value aus und muss es dann "verarbeiten" (wie?) oder ist dieser Ansatz bereits verkehrt?
Tausend Dank schon im Voraus für Eure Zeit und einen Wegweiser!
Gruß
Jay

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Binäre Dateien verarbeiten
25.08.2022 13:08:27
Tobias
Hallo Jay
versuch es mal hiermit:

dim ByteArray() as Byte
'ByteArray dann befüllen aus deiner Datenbank // Pfad entsprechend dem gewünschten Zielpfad anpassen
Open Pfad For Binary Lock Read Write As #1
Put #1, ,ByteArray
Close #1
Dateityp müsste ja irgendwie dir mit übergeben werden oder?
Beste Grüße
Tobias
AW: Binäre Dateien verarbeiten
26.08.2022 09:02:49
Jay
Guten Morgen Tobias,
vielen Dank für deine Antwort! Da wäre ich im Leben nicht drauf gekommen. Es klappt tatsächlich :-)
Allerdings wird in dem Pfad eine Datei (im richtigen Format oder zumindest mit der richtigen Endung) gespeichert, die aber nur 1KB groß ist, in dem Fall jpg. Dass das nicht das ist, was ich eigentich gehofft hatte abgelegt zu haben, ist klar.
Nun weiß ich noch nicht, ob der Dateiimport in die Postgres-Datenbank noch nicht richtig funktioniert oder ich deine Lösung nicht ganz korrekt umsetze.
Arbeitest du zufällig mit Postgres? Wie kann ich prüfen, was in der bytea-Spalte in Postgres tatsächlich liegt? Ich kann den dort gespeicherten Inhalt (hoffentlich eben eine Datei) nicht einfach öffnen. Gedacht hatte ich schon daran die Größe der Datei zu prüfen, habe dafür über pgAdmin folgendes ausprobiert:

select namensfeld, length(byteafeld) as filesize from meinschema.meinetabelle
Als filesize bekomme ich dann einen Integer-Wert von 40. Ehrlich gesagt, weiß ich nun leider nicht wirklich, was ich mit diesem Ergebnis anfangen soll.
Meine VBA-Insert-Zeile sieht übrigens so aus:

cnn.Execute "INSERT INTO meinschema.meinetabelle VALUES('MeineDatei.jpg', bytea('/MeinServerPfad/MeineDatei.jpg'))"
Hast Du oder sonst jemand noch einen Tipp für mich, bitte?
Anzeige
AW: Binäre Dateien verarbeiten
26.08.2022 09:21:37
Tobias
Hallo Jay,
von Postgre habe ich keine Ahnung, hatte die Byte-File Geschichte nur mal in einem anderen Zusammenhang mit. Nach kurzer Suche im Netz würde ich vermuten das es zumindest nicht so einfach mit den bytea(Dateiname) erledigt ist um die Datei einzufügen.
Schöne Grüße
Tobias
AW: Binäre Dateien verarbeiten
26.08.2022 09:37:03
Jay
Hey Tobias,
ok, dankeschön! Dann schaue ich in die Richtung noch mal weiter.
VG und ein schönes Wochenende, wenn es soweit ist.
Jay

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige