File nach Blob konvertieren ?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen :)

Probiere schon die ganze Zeit ein File-objekt als Blob in einer Datenbank (Cloudscape, ähnlich Derby von
Apache) zu speichern, leider ohne Erfolg. Gibt es keine einfache Lösung ein File-objekt zu einem Blob-objekt zu machen ?

Casting funktioniert schonmal NICHT :
Code:
ps.setBlob(1, (Blob) resourceFile);
(ps ist ein PreparedStatement)

Hat jemand eine Idee ?

Gruß,

ich_wills_wissen :### ???:L
 

ich_wills_wissen

Bekanntes Mitglied
Habs Anmelden vergessen, sorry !

Blob ist ja ein Interface.. darum funktioniert das mit dem Casting schonmal nicht (gerade gelesen.. :roll: )
Kann ich dem File-object nicht irgendwie ein implements Blob oder sowas in der Art unterschieben ?
 

ich_wills_wissen

Bekanntes Mitglied
Hallo foobar,

danke für Deine Antwort !

Jetzt bekomme ich eine Exception:
Code:
An attempt was made to get a data value of type 'BLOB' from a data value of type 'java.io.File'.


Wie muss ich denn dann die Zeile, in welcher ich meine Tabelle erzeuge umändern ?

Code:
 ...  XML_FILE BLOB (20 M))";

Statt Blob dann Object ?
 

ich_wills_wissen

Bekanntes Mitglied
ich_wills_wissen hat gesagt.:
Hallo foobar,

danke für Deine Antwort !

Jetzt bekomme ich eine Exception:
Code:
An attempt was made to get a data value of type 'BLOB' from a data value of type 'java.io.File'.


Wie muss ich denn dann die Zeile, in welcher ich meine Tabelle erzeuge umändern ?

Code:
 ...  XML_FILE BLOB (20 M))";

Statt Blob dann Object ?

Nachtrag: das haut auchnicht hin.. :(
 

Taste

Bekanntes Mitglied
Vielleicht hilft Dir dies hier weiter, habe ich gerade erst so gemacht...


Code:
	/**
	 * Datei einfügen
	 */
	public void insertFile(int jNodeLevel, int jParentId, int jUserLevel,
			String jCreator, String jKeywordGerman, String jKeywordEnglish,
			String jContentGerman, String jContentEnglish) {
		String message1 = "SQLException in createLeaf. Die Fehlermeldung lautet: ";
		String message2 = "BatchUpdateException in createLeaf. Die Fehlermeldung lautet: ";
		String message3 = "FileNotFoundException in createLeaf. Die Fehlermeldung lautet: ";

		FileInputStream fis1 = null, fis2 = null;
		PreparedStatement st = null;

		try {
			File flg = new File(jContentGerman);
			File fle = new File(jContentEnglish);
			if (flg.exists() || fle.exists()) {
				Statement s = connection.createStatement();
				s
						.addBatch("INSERT INTO structure_tbl (node_level, parent_id, datetime, user_level) VALUES ("
								+ jNodeLevel
								+ " + 1, "
								+ jParentId
								+ ", CURRENT TIMESTAMP, " + jUserLevel + ")");
				s
						.addBatch("INSERT INTO data_tbl (creator, keyword_german, keyword_english) VALUES ('"
								+ jCreator
								+ "', '"
								+ jKeywordGerman
								+ "', '"
								+ jKeywordEnglish + "')");
				s
						.addBatch("INSERT INTO structure_data_tbl (node_id, data_id) VALUES ((SELECT MAX(data_id) FROM data_tbl), (SELECT MAX(node_id) FROM structure_tbl))");
				updateCounts = s.executeBatch();

				if (flg.exists()) {
					fis1 = new FileInputStream(flg);
					System.out.println(flg + " Länge: " + (int) flg.length());
					st = connection
							.prepareStatement("UPDATE data_tbl SET content_german = ? WHERE data_id = (SELECT MAX(data_id) FROM data_tbl)");
					st.setBinaryStream(1, fis1, (int) flg.length());
					st.executeUpdate();
				}
				System.out.println(flg.length()
						+ " Bytes wurden erfolgreich gespeichert.");
				if (fle.exists()) {
					fis2 = new FileInputStream(fle);
					System.out.println(fle + " Länge: " + (int) fle.length());
					st = connection
							.prepareStatement("UPDATE data_tbl SET content_english = ? WHERE data_id = (SELECT MAX(data_id) FROM data_tbl)");
					st.setBinaryStream(1, fis2, (int) fle.length());
					st.executeUpdate();
				}
				System.out.println(fle.length()
						+ " Bytes wurden erfolgreich gespeichert.");
			}
		} catch (FileNotFoundException e) {
			System.out.println(message3 + e.getMessage());
		} catch (BatchUpdateException e) {
			System.out.println(message2 + e.getMessage());
		} catch (SQLException e) {
			System.out.println(message1 + e.getMessage());
		}

		try {
			if (null != st)
				st.close();
		} catch (Exception e) {
		}
		try {
			if (null != fis1)
				fis1.close();
		} catch (Exception e) {
		}
		try {
			if (null != fis2)
				fis2.close();
		} catch (Exception e) {
		}
	}
 

foobar

Top Contributor
Ich mache es auch über Object. Also in der Tabelle als Typ Object angeben und dann im PreparedStatement setObject(1, myObject) verwenden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Oracle DB-Connection in .jar file ändern Datenbankprogrammierung 11
T The database file is locked Datenbankprogrammierung 2
Trèfle Adobe Acrobat Indexdatei (.PDX File) einlesen Datenbankprogrammierung 1
Dimax MySQL LOAD DATA INFILE -id aus dem Code und Rest aus dem File. Datenbankprogrammierung 5
E Warum kann mein SQL-File nicht in DB2 ausgeführt werden? Datenbankprogrammierung 1
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
S CSV File in Datenbank speichern!? Datenbankprogrammierung 1
Y DB File Synchronisation Datenbankprogrammierung 6
G PostgreSQL jar-file läd db-treiber nicht Datenbankprogrammierung 6
C XML file zu groß Datenbankprogrammierung 2
F Input txt File Datenbankprogrammierung 5
S File lesen Datenbankprogrammierung 10
J Jar File erstellen Datenbankprogrammierung 8
D CSV File als Datenbank verwenden (JDBC) Datenbankprogrammierung 4
E Dringend Hilfe Firebird/Jaybird verbindet nicht; im jar file Datenbankprogrammierung 4
A Zugriff auf Remote MySQL-DB mit JAR-File Datenbankprogrammierung 7
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
B JDBC txt File keine Row ID Datenbankprogrammierung 4
V mdb-file erstellen? Datenbankprogrammierung 20
M java.sql.SQLException: Unable to open file Datenbankprogrammierung 2
E Jar File: NoClassDefFoundError: oracle/sql/ORAData Datenbankprogrammierung 2
P jar-File auswählen und Verbindung herstellen Datenbankprogrammierung 5
G How to put SQL query result into a file Datenbankprogrammierung 3
H File into blob Datenbankprogrammierung 3
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
J Sql Anfrage nach einer Zeile beenden Datenbankprogrammierung 6
ruutaiokwu SQL-Dump nach MariaDB laden? Datenbankprogrammierung 6
T JPA: Nach String statt Primärschlüssel suchen Datenbankprogrammierung 9
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
M SQLite Suche nach String Datenbankprogrammierung 4
G PostgreSQL Nach Monaten auf einmal ClassNotFound-Exception Datenbankprogrammierung 3
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
J SQLite Datenverlust nach beenden des Programmes Datenbankprogrammierung 21
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
D Zeit von SQL nach Java Datenbankprogrammierung 2
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
AssELAss Oracle Suche nach Umlauten Ä und Ae ermöglichen Datenbankprogrammierung 11
G HSQLDB Inserts/Updates sind nach Neustart der Anwendung Datenbankprogrammierung 1
S MySQL Nach wiederholtem Update falsche Werte (im Speicher?) Datenbankprogrammierung 1
Z PDF nach Formate sortieren Datenbankprogrammierung 3
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
F Java SQL Syntax Error erst nach mehrmaligen Aufrufen Datenbankprogrammierung 3
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
P JPA- Entities bleiben nach dem Löschen (unsichtbar?) in der Datenbank Datenbankprogrammierung 6
GianaSisters MS SQL unter Netbeans OK - nach konvertieren Absturz Datenbankprogrammierung 6
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
M Datenbankeintrag bleibt nach Löschen in JSP vorhanden Datenbankprogrammierung 8
0 Filtern nach mehreren Kriterien Datenbankprogrammierung 4
T filtern nach expliziten Worten trotz LIKE '%Wort%' Datenbankprogrammierung 2
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
F SQL ordnen nach zueinander in Verhältnis gesetzten Spaltenwerten Datenbankprogrammierung 11
J SQL: Sortierung nach Wortlänge Datenbankprogrammierung 2
Java.getSkill() Datensatz / Tupel automatisch nach xy Tagen / Stunden löschen Datenbankprogrammierung 7
T JPA: NullPointerException nach persist Datenbankprogrammierung 3
T Eintragung in einer Spalte nach Abfrage Datenbankprogrammierung 11
E Hibernate Session closed nach Transaction commit? Datenbankprogrammierung 7
K Rundungsfehler bei Gleitkommazahlen von Java nach SQL Datenbankprogrammierung 2
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
alexpetri Problem mit jdbc MS Access / nach 670 inserts ist schluss. Datenbankprogrammierung 4
tfa Apache DBCP: Reconnect nach Timeout? Datenbankprogrammierung 3
M mySQL zugriff funktionert nach ca4 stündiger laufzeit nicht Datenbankprogrammierung 6
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
M sql-code für suche in tabelle nach höchster transaktionsnr Datenbankprogrammierung 12
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
T Tabellen aus Datenbank 1 nach Datenbank 2 Datenbankprogrammierung 2
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
G Suchen nach Autowerten in Access-DB Datenbankprogrammierung 20
D JAVA hängt nach SQL Abfrage Datenbankprogrammierung 7
I Nach export zur .jar keine verbindung mehr Datenbankprogrammierung 7
M Datenbankverbindung bricht nach ca. 12 Stunden Verbindung ab Datenbankprogrammierung 3
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
F Treiber nachladen oder nach Bedarf Datenbankprogrammierung 4
P Primärschlüssel direkt nach der Eingabe wieder auslesen Datenbankprogrammierung 7
R MySQL Syntax für suche nach Textteil Datenbankprogrammierung 8
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

Ähnliche Java Themen

Neue Themen


Oben