Breite und Höhe von Blob

krgewb

Top Contributor
Ich habe eine Tabell in meiner DB2-Datenbank mit einer Variable vom Typ BLOB. Dort werden Bilder gespeichert. Ich kann die Bytes auch auslesen und das Bild rekonstruieren.
Ich hole es mit
Java:
rs.getBytes("IMAGE")
Wenn ich in die Datenbank reinschaue, steht da aber:
1600x1280 PNG Image 34,6 kB

Wie kann ich in meinem Code machen, dass dieser String (mit der Auflösung) ausgelesen werden kann?
 

Anhänge

  • gfghjjk.png
    gfghjjk.png
    1,9 KB · Aufrufe: 4
Mir ist nicht ganz klar, was du meinst, aber speichere halt die Auflösung in separaten Feldern mit einem geeigneten Ganzzahltypen in der DB, anstatt mit String rumzuwurschteln. Du wirst die Auflösung des Bildes ja vor dem Speichern kennen.
 
Die Bilder werden von einem anderen System gespeichert. Dieses wird nicht mehr erweitert.
Ich entwickle gerade das neue System. Dort kann ich es so machen, wie du geschrieben hast. Es soll aber auch abwärtskompatibel sein.
 
Die Bilder werden von einem anderen System gespeichert. Dieses wird nicht mehr erweitert.
Ich entwickle gerade das neue System. Dort kann ich es so machen, wie du geschrieben hast. Es soll aber auch abwärtskompatibel sein.
Notfalls musst du das Bild halt auslesen und rekonstruieren (was ja funktioniert). Dann kennst du die Größe. Wenn du diese Metainfos im neuen System speichern kannst, dann musst du das ja für jedes Bild (aus dem alten System) nur einmal machen.
 
Das was Du da im Bildschirmfoto zeigst scheint ja nur eine Darstellungsform der Daten sein, d.h. der Client hat die Daten gelesen um dann das Bild eben genau so darzustellen. Das ist also Sache des Clients und Du müsstest genau das Gleiche machen: Also die Daten Laden, ein Bild daraus erzeugen und dann vom Bild die Auflösung nehmen.

Die Frage ist, wann Du wie oft diese Daten brauchst. Ggf. macht es Sinn, die Datenbank zu erweitert, so dass die Informationen zur Auflösung noch mit gespeichert werden. Das andere System, dass die Daten schreibt, muss dazu ja nicht angepasst werden. Das kann z.B. ein Trigger sein, der beim Änderungen automatisch auch entsprechende neue Felder füllt bzw. in einer neuen zusätzlichen Tabelle einträgt. (Das ist nur sinnvoll, wenn Du die Auflösung oft brauchst ohne das Bild selbst zu benötigen.
 
Die Alternative wäre zu schauen, was DB2 an Prozeduralen Funktionen mitbringt, die man ggf. mit Native Queries ansprechen kann. Ob es da Funktionen gibt, die solche Infos aus dem Blob extrahieren können.
 
Die Alternative wäre zu schauen, was DB2 an Prozeduralen Funktionen mitbringt, die man ggf. mit Native Queries ansprechen kann. Ob es da Funktionen gibt, die solche Infos aus dem Blob extrahieren können.
In DB2 kann man sogar Java einbinden wenn man sowas wollte:
 

Zurück
Oben