为什么我不能投oracle BLOB从地java Blob
-
22-08-2019 - |
题
我读的文件,从结果和它所需要的保存文件到Oracle数据库。
...
ResultSet rs = ...
java.sql.Blob myfile = rs.getBlob("field")
java.io.OutputStream os = ((oracle.sql.BLOB) myfile).getBinaryOutputStream();
我得到这个消息错误
java.lang.ClassCastException
任何一个已解决这个?谢谢!
解决方案 3
我已经找到了解决方案。我想与谁拥有这个问题分享。
从Oracle斑点获得的OutputStream的代码是:
java.io.OutputStream os = ((oracle.sql.BLOB) myBlob).setBinaryStream(1L);
的setBinaryStream()被实际上返回java.io.OutputStream对象
其他提示
java.sql.Blob
是个界面.据推测执行返回你的 ResultSet
是一个不同的实施 oracle.sql.BLOB
?
这是什么 myfile.getClass()
回来吗?
您似乎没有一个oracle.sql.BLOB那里(如果你这样做,它应该工作,BLOB实现BLOB)。什么是ClassCastException异常说这是什么?
什么的Oracle版本和你用的是什么JDBC驱动程序的版本?
getBinaryOutputStream的无论如何过时,你应该使用的的setBinaryStream 的在JDBC(3.0)接口,这可能就不再需要去Oracle的内部类的。
不隶属于 StackOverflow