Warum kann ich nicht gegossen, oracle BLOB von native java Blob
Ich bin beim Lesen der Datei von ResultSet und es ist erforderlich, um die save-Datei in Oracle Datenbank.
...
ResultSet rs = ...
java.sql.Blob myfile = rs.getBlob("field")
java.io.OutputStream os = ((oracle.sql.BLOB) myfile).getBinaryOutputStream();
Bekomm ich diese Fehlermeldung
java.lang.ClassCastException
Alle haben ein Lösung? Danke!
InformationsquelleAutor netic | 2008-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
java.sql.Blob
ist eine Schnittstelle. Vermutlich ist die Implementierung wieder in IhreResultSet
ist eine andere Implementierung zuoracle.sql.BLOB
?Was bedeutet
myfile.getClass()
zurück?InformationsquelleAutor Dan Vinton
Scheinen Sie kein Orakel.sql.Klumpen (wenn du die hast, sollte es funktionieren, BLOB implementiert Blob). Was bedeutet die classcastexception-Fehler ist es zu sagen?
Was von der Oracle-version und welche version der JDBC-Treiber verwenden Sie?
getBinaryOutputStream veraltet ist, solltest du sowieso verwenden setBinaryStream in der JDBC - (3.0) - Schnittstelle, die wahrscheinlich beseitigt die Notwendigkeit zu gehen, um die Oracle-internen Klasse überhaupt.
InformationsquelleAutor Thilo
Habe ich die Lösung gefunden. Ich möchte diejenigen, die dieses problem hat.
Den code ein, um den Ausgabestrom von oracle blob:
setBinaryStream() ist tatsächlich wieder java.io.Ausgabestrom-Objekt
InformationsquelleAutor netic