Forum
Da ich leider keine Lösung dafür gefunden habe, BLOBs per Konsole zu befülle, habe ich jetzt mittels Java versucht, die Musikdatei in die DB2 Datenbank einzufügen. Leider scheint auch dieser Lösungsansatz nicht zu funktionieren – ggf. weiß jemand von euch, woran es liegen könnte.
Als Hintergrundinformation sollte ich anmerken, dass ich zunächst mittels JSP versucht habe die Daten in die DB einzutragen. Die DB läuft lokal auf dem PC, auf dem ich arbeite ud wird per Konsole mittels DB2start gestartet.
Hier ein Teil des Java-Codes:
[code java]
private void insertData()
{
Connection connection = null;
PreparedStatement statement = null;
try
{
// Verbindung herstellen
connection = CConnectionHolder.getConnection();
if (connection != null)
{
File track01 = new File("music_track.mp3");
FileInputStream mp3FileInputStream;
try {
mp3FileInputStream = new FileInputStream(track01);
statement = connection.prepareStatement("INSERT INTO aufnahme (laenge, jahr, Audiofile, ort, promotion)"
+"VALUES (?, ?, ?, ?, ?)");
statement.setInt(1, 355);
statement.setInt(2, 1991);
statement.setBinaryStream(3, mp3FileInputStream, (int)track01.length());
//statement.setBlob(3, );
statement.setString(4, "Some Location");
statement.setString(5, "y");
statement.executeUpdate();
} catch (FileNotFoundException e) {
System.err.println(e.toString());
}
}
} catch (SQLException e) {
System.out.println("SQL_ERROR: " + e);
} finally
{
// Verbindung schlie�en
if (connection != null)
{
try
{
// Statement-Objekt schließen
statement.close();
// Datenbank-Verbindung schlie�en
connection.close ();
} catch (Exception e)
{
System.err.println(e.toString());
}
}
}
}
[/code]
Grüße, Antragon