Warum muss ich immer “java.lang.AbstractMethodError: oracle.jdbc.- Treiber.OracleConnection" Fehler? Es treibt mich verrückt. .
Ich schon gelesen Warum bekomme ich java.lang.AbstractMethodError beim laden ein blob in der db?, heruntergeladen alle 11g jdbc-Treiber, die ich finden konnte, und fügte hinzu, Sie als Bibliotheken und/oder jar-Dateien in mein NetBeans-Anwendung. Ich bleibe noch immer die gleiche AbstractMethodError und es treibt mich batty! Jede Beratung würde sehr geschätzt werden!
try {
stmt = conn.createStatement();
inputFileInputStream = new FileInputStream(inputBinaryFile);
Blob vBlob = conn.createBlob();
BufferedImage vGImage=ImageIO.read(name);
int offset =0;
OutputStream out = vBlob.setBinaryStream(offset);
ImageIO.write(vGImage, "JPG", out);
PreparedStatement stat = conn.prepareStatement("INSERT INTO item VALUES (?,?,?,?,?)");
stat.setString(1, itemNo);
stat.setString(2, itemName);
stat.setBlob(3,vBlob);
stat.setString(4, invenType);
stat.setDouble(5, vPrice);
stat.executeUpdate();
} catch (IOException e) {
System.out.println("Caught I/O Exception: (Write BLOB value - Put Method).");
e.printStackTrace();
throw e;
} catch (SQLException e) {
System.out.println("Caught SQL Exception: (Write BLOB value - Put Method).");
System.out.println("SQL:\n" + sqlText);
e.printStackTrace();
throw e;
}finally {
conn.close();
}
Die Fehlermeldung:
Exception in thread "main" java.lang.AbstractMethodError:
oracle.jdbc.driver.OracleConnection.createBlob()Ljava/sql/Blob;
at DatabaseIO.setOracleDBBlob(DatabaseIO.java:115)
at DatabaseIO.main(DatabaseIO.java:26)
Sie schon gelesen, die andere Frage, aber ich sehe nichts, macht diese Frage, nicht dup.
first things first: stellen Sie sicher, dass der classpath enthält nur die erforderlichen JDBC-4.0-Treiber für oracle nicht alle früheren Treiber
möglich, Duplikat der Warum bekomme ich java.lang.AbstractMethodError beim laden ein blob in der db?
first things first: stellen Sie sicher, dass der classpath enthält nur die erforderlichen JDBC-4.0-Treiber für oracle nicht alle früheren Treiber
möglich, Duplikat der Warum bekomme ich java.lang.AbstractMethodError beim laden ein blob in der db?
InformationsquelleAutor Mike | 2011-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Ursache für das problem ist inkompatible software (jar-Dateien).
createBlob
ist eine neue Methode, (eingeführt in java 1.6), so dass ältere Fahrer sind sehr unwahrscheinlich, um es zu implementieren.Stellen Sie sicher, dass der classpath enthält nur kompatible Treiber, und nicht alle früheren Versionen der Treiber. (Danke Jochen)
InformationsquelleAutor Klas Lindbäck
Als andere haben gesagt, dass dies aufgrund einer älteren Oracle-JDBC-Treiber.
In meinem Fall ersetzen
ojdbc14.jar
(Oracle-JDBC-Treiber 10.1.0.5.0) mitojdbc16.jar
(Oracle-JDBC-Treiber 11.2.0.4.0) das problem behoben.InformationsquelleAutor isapir