BLOB in Datei speichern

Status
Nicht offen für weitere Antworten.
S

scooterJava

Gast
Ich möchte einen Blob in einem ResultSet auslesen und die Daten gleich in einer Datei speichern (Informix, JDBC, Java 5). Die Daten sind recht groß, deshalb möchte ich möglichst keine temporäre Datei oder Variable anlegen und den Arbeitsspeichern so wenig wie möglich belasten, sondern die Daten gleich bei Erhalt in einer Datei speichern.

Weiß jemand eine gute Lösung?

[EDIT]
Die Daten sind ein Zip-Archiv, keine Bilder oder sowas.
 
S

scooterJava

Gast
Ich binfolgendermaßen vorgegangen:
Code:
try
{
	// JDBC
	InputStream is = dbresult.getBinaryStream( 9 /* exe files */);
	FileOutputStream fos = new FileOutputStream( new File( file ) );
	while( 0 <= ( bytesread = is.read( buffer ) ) )
	{
		fos.write( buffer, 0, bytesread );
	}
	fos.flush();
	is.close();
	fos.close();
}
Leider erhalte ich einen Fehler bei getBinaryStream (die Spalte stimmt).
 
S

scooterJava

Gast
Habe meinen Code wie folgt geändert:
Code:
// ...
ResultSet result = executeDBQuery( statement, true );
try
{
	Blob blob = result.getBlob( "exefile" );
	InputStream is = nlob.getBinaryStream();
	FileOutputStream fos = new FileOutputStream( new File( "zieldatei.exe" );
	// ...

Das SQL-Statement "statement" liefert ein korrektes Ergebnis, wie ich überprüft habe. Meine eigene Methode executeDBQuery() liefert deshalb ein ResultSet mit einer Ergebniszeile. Aus dieser Zeile soll aus der Spalte "exefile" das BLOB eingelesen werden - hier hapert es. Obwohl im Statement die Spalte benannt wurde ("SELECT ... exefile AS exefile ..."), wird mir hier eine SQLException geworfen. Warum?
 
S

scooterJava

Gast
Upps, vor dem getBlob() fehlt noch was:
Code:
// ...
ResultSet result = executeDBQuery( statement, true );
try
{
   result.next(); // Geht jetzt aufs erste Element (sonst steht der Cursor ja VOR dem ersten)
   Blob blob = result.getBlob( "exefile" );
   InputStream is = nlob.getBinaryStream();
   FileOutputStream fos = new FileOutputStream( new File( "zieldatei.exe" );
   // ...

Meine Fehlermeldungen der Exception:
Type is : {0}-4
Data Type Mismatch
[Ljava.lang.StackTraceElement;@1b06041
 

Ebenius

Top Contributor
Oh Überraschung, Dein StackTrace besteht aus einem Array aus StackTraceElements... Jetzt bin ich aber platt... :-D

Kannste nicht einfach mal die ganze Exception mit
Code:
ex.printStackTrace()
ausgeben und dann posten?
 
S

scooterJava

Gast
Problem gelöst.

Was ich bisher nicht wusste: Der BLOB in der fremden Datenbank war kein BLOB, sondern es waren einfach nur Binärdaten (hätten mir die Kollegen auch eher sagen können). Einlesen mit getBytes() genügte ...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Datei (Blob) mit verknüpfter Software öffnen? Datenbankprogrammierung 4
Y Problem mit Ablage einer Datei in einer Datenbank als BLOB Datenbankprogrammierung 6
krgewb Breite und Höhe von Blob Datenbankprogrammierung 7
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
D MySQL Sicherheitslücke als Blob? Datenbankprogrammierung 3
buggy84 MySQL BLOB Geschwindigkeit Datenbankprogrammierung 16
L H2 Blob Dateien in der DB komprimieren? Datenbankprogrammierung 8
L H2 Blob Spalte im Client anzeigen Datenbankprogrammierung 2
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
E Wie kann ich textdateien, die als BLOB abgespeichert sind, aus der Datenbanktabelle auslesen? Datenbankprogrammierung 23
E Wie kann man BLOB-Spalten in DB2 einfügen? Datenbankprogrammierung 9
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
J BLOB to ImageIcon? Datenbankprogrammierung 3
Kenan89 Sinnvoller URL oder BLOB? Datenbankprogrammierung 2
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
N Leeres Blob in ein PreparedStatement eintragen Datenbankprogrammierung 2
C MySQL Fragen zu BLOB zu byte[], Date zu java.util.Date uvm. Datenbankprogrammierung 6
D Blob MimeTyp auslesen Datenbankprogrammierung 2
P MySQL Objekt aus BLOB auslesen Datenbankprogrammierung 3
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5
C MP3 in DB als Blob, wieder auslesen und als MP3 speichern??? Datenbankprogrammierung 8
S Hibernate Blob mit Stream speichern Datenbankprogrammierung 3
V PostgreSQL langsam (Blob) Datenbankprogrammierung 10
G Blob aus Oracle-Datenbank Datenbankprogrammierung 2
O Vector als Blob in Oracle Datenbank speichern Datenbankprogrammierung 3
D Insert Oracle BLOB Datenbankprogrammierung 1
B Java Derby Datenbank mit CLOB & BLOB Datenbankprogrammierung 5
J Bild aus Mysql Blob in Webseite einbinden Datenbankprogrammierung 9
H Blob erzeugen Datenbankprogrammierung 2
T Inhalt von Blob in Console ausgeben Datenbankprogrammierung 2
G Sybase IMAGE-Daten zu MySQL als BLOB schreiben. Datenbankprogrammierung 2
G File nach Blob konvertieren ? Datenbankprogrammierung 6
G JPEG to BLOB Datenbankprogrammierung 7
H File into blob Datenbankprogrammierung 3
A Blob in Oracle-DB einfügen (veraltete Methode) Datenbankprogrammierung 3
EagleEye Blob -> backup Datenbankprogrammierung 6
O Oracle Blob in MySQL Blob umwandeln Datenbankprogrammierung 2
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
D H2 schema-Datei ausführen Datenbankprogrammierung 22
L Oracle SQL Inserts via Client vs SQL Datei via ScriptRunner Datenbankprogrammierung 6
J JAR-Datei und Datenbank Datenbankprogrammierung 8
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
J Jar-Datei stellt keine Datenbankverbindung her Datenbankprogrammierung 3
L CSV Datei mit DB Inhalt vergleichen Datenbankprogrammierung 20
F Auslesen einer .dbf-Datei, Zuordnung Index Datenbankprogrammierung 0
T Datei auf Desktop ausgeben Datenbankprogrammierung 22
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
M HSQLDB .Script-Datei entfernen oder sperren Datenbankprogrammierung 18
M MySQL JSON-Datei auf Datenbank anwenden Datenbankprogrammierung 17
V SQLite Performance: 1 Datei mit einzelnen Einträgen gegenüber SQLite Datenbankprogrammierung 7
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
J SQL Datei einlesen/beschreiben Datenbankprogrammierung 0
F JPA persistence.xml mit EXTERNER Config Datei Datenbankprogrammierung 0
C VDF Datei als Datenbank genutzt!!! Datenbankprogrammierung 5
L SQL2SMO JAR-Datei zum Laufen bringen Datenbankprogrammierung 0
Androbin [Serializing] Mehrere Objekte in einer einzigen Datei speichern Datenbankprogrammierung 1
P Derby/JavaDB Csv Datei für dieses Musterprogramm Datenbankprogrammierung 12
D [xBaseJ] Datei kann nicht geöffnet werden Datenbankprogrammierung 2
L Werte in Datei speichern Datenbankprogrammierung 16
D Datenbank oder XML Datei Datenbankprogrammierung 3
M HSQLDB oder DERBY - warum SCRIPT Datei? Datenbankprogrammierung 0
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
T 3 GB Große CSV Datei einlesen und in SQL-DB schreiben Datenbankprogrammierung 12
T Datei import und Datumsformat Datenbankprogrammierung 4
D Derby Datenbank bei Export zu JAR-Datei nicht möglich Datenbankprogrammierung 8
K SQLite CSV-Datei einlesen in eine Datenbank Datenbankprogrammierung 7
E csv datei in JTable einlesen Datenbankprogrammierung 3
E Datei Zippen und an DB schicken Datenbankprogrammierung 7
N Oracle txt. Datei auslesen-> verändern-> einlesen Datenbankprogrammierung 7
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
D MySQl Treiber in .jar Datei einbinden, Bukkit Datenbankprogrammierung 2
M Datenbank-Datei Datenbankprogrammierung 10
bluerob MimeMessage .getFrom()[0]; liest eml-Datei nicht Datenbankprogrammierung 7
achillesat ausgelesene Datei in Datenbank schreiben Datenbankprogrammierung 9
O MySQL sql Datei einzelner Tabellen erzeugen (über Java Programm) Datenbankprogrammierung 6
F Große Datei in MySQL importieren Datenbankprogrammierung 10
H Derby SQL-Abfragen in Datei abspeichern Datenbankprogrammierung 2
S passwortgeschützte Excel-Datei einlesen Datenbankprogrammierung 3
S Schnellste Methode Datei aus Datenbank herstellen Datenbankprogrammierung 7
C XLS Datei aus Datenbank erstellen Datenbankprogrammierung 14
H Datenbank in Datei speichern / laden Datenbankprogrammierung 8
M FindBugs und PreparedStatement aus einer Datei lesen Datenbankprogrammierung 11
H CSV Datei in MSSQL DB oder doch SQL Script Datenbankprogrammierung 11
N Problem mit dem Importieren der csv- u. txt-Datei Datenbankprogrammierung 3
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
M Tabelle in Access Datei mit JDBC generieren Datenbankprogrammierung 3
N csv datei erstellen Datenbankprogrammierung 2
S projektplanung mit csv datei Datenbankprogrammierung 2
M Gelöst: JavaDB - Derby Inhalt in Jar Datei speichern Datenbankprogrammierung 5
K jar Datei startet nicht aufgrund Firebird(?) Datenbankprogrammierung 3
D Access Datenbank in .jar-Datei Datenbankprogrammierung 51
H Wie kann ich eine Datenbank Connection aus XML-Datei lesen! Datenbankprogrammierung 2
M H2 DAtenbank in .sql datei schreiben/abfragen ? Datenbankprogrammierung 3
A Auslesen von Werten aus der DB in eine csv-Datei Datenbankprogrammierung 4
T Wie kann ich Blobs (Bilder) in einer Datei speichern? Datenbankprogrammierung 2
A Auslesen aus einer csv-Datei Datenbankprogrammierung 2
A Einlesen einer csv-Datei in eine H2-Datenbank Datenbankprogrammierung 3
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Import einer csv-Datei in eine H2-Database Datenbankprogrammierung 12

Ähnliche Java Themen

Neue Themen


Oben