我在下面的代码的第一行得到了Exception
java.lang.ClassCastException: oracle.jdbc.internal.OracleConnection$$EnhancerByProxool$$3415e85 cannot be cast to oracle.jdbc.driver.OracleConnection
如何将@R_404_5246@为oracle.sql.Clob以及如何使用PreparedStatement插入.
// con is java.sql.Connection object
oracle.sql.CLOB newClob = oracle.sql.CLOB.createTemporary(con, false, oracle.sql.CLOB.DURATION_SESSION);
newClob.putString(1,transcript);
pstmt.setClob(1, newClob);
pstmt.setString(2, StringUtils.datetoMillis(endTime));
pstmt.setString(3, sessionID);
int count = pstmt.executeUpdate();
System.out.println("updated count ::"+count);
System.out.println("transcript updated....");
解决方法:
Clob clob = connection.createClob();
clob.setString(1, transcript);
或者简单地使用setClob()方法将读者作为参数:
pstmt.setClob(1, new StringReader(transcript));
无需使用任何数据库专有类. JDBC应该是一个与数据库无关的抽象层.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。