Oracle Fehler Ungültiges Zeichen

neela

Bekanntes Mitglied
Hallo

ich habe gerade ein Problem mit dem zufügen von Datensätzen in die OracleDB


Java:
SimpleDateFormat sdf = new SimpleDateFormat(
"dd.MM.yyyy HH:mm:ss,SSS");
String date = sdf.format(new Date());
 String Meldung="logik.Error: String nicht vorhanden"
String anweisung = "INSERT INTO REPORT VALUES ('"
+ date + "','"  + Meldung + "','"id"');";
				
PreparedStatement stm = dbconn.prepareStatement(
anweisung);
stm.executeUpdate();
stm.close();
dbconn.close();

ich bekomme die Fehlermeldung
Java:
java.sql.SQLException: ORA-00911: Ungültiges Zeichen

	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
	at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:681)
	at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:614)
	at  oracle.jdbc.driver.T2CPreparedStatement.execute_for_describe(T2CPreparedStatement.java:851)
	at oracle.jdbc.driver.T2CPreparedStatement.execute_for_rows(T2CPreparedStatement.java:1013)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1081)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2977)
	at fachlogik.Db.save(Db.java:87)
Ich weis aber nich wo der Fehler sein könnte habe mir die Anweisung auch schon ausgegeben und selbst in der Datenbank eingefügt. Dies wird da problemlos geschluckt.

Vielen Dank für eure Unterstützung
 
Zuletzt bearbeitet:
lass einmal den Strichpunkt am Ende weg. Und wenn du eh schon PreparedStatement verwendest, dann solltest du auch die setter Methoden für die Parameter verwenden:

Java:
String meldung="logik.Error: String nicht vorhanden";
String anweisung = "INSERT INTO REPORT VALUES (?,?,?)";
                
PreparedStatement stm = dbconn.prepareStatement(
anweisung);
stm.setTimestamp(1,new Timestamp(System.currentTimeMillis()));
stm.setString(2, meldung);
stm.setString(3, id);
stm.executeUpdate();
stm.close();
dbconn.close();
 
Zuletzt bearbeitet:
vielen Dank für die schnelle Antwort
Genau das war der Fehler

Aber so wie ich es hatte hat ich schon mal bei eine MySQL bzw. auch Postgesql-Datenbank die Daten hinzugefügt war das da purrer Zufall das es ging?


Nochmals vielen Dank
 
Zuletzt bearbeitet:

Zurück
Oben