java - oracle.jdbc.driver.OracleConnection 的类转换异常

标签 java jdbc

我在下面代码的第一行得到异常

java.lang.ClassCastException: oracle.jdbc.internal.OracleConnection$$EnhancerByProxool$$3415e85 cannot be cast to oracle.jdbc.driver.OracleConnection

如何将字符串转换为 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 应该是一个与数据库无关的抽象层。

关于java - oracle.jdbc.driver.OracleConnection 的类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665029/

相关文章:

java - 无法使用 JDBC 读取特殊字符

java - 如何将 printStackTrace 存储到字符串中

java - 使用 Java Optional 寻找更实用的方法?

java - Hibernate多层次实体继承中的条件查询

java - 使用矩形 2D 绘制具有不同方向的不同大小的矩形

mongodb - 使用Logstash JDBC插件同步MongoDB和Elasticsearch时避免重复

java - JDBC 数据源

java - 更改 Tabhost Android 上的图标

java - 如何解决java中的 “No Dialect mapping for JDBC type: -1”错误

java - 加载 Postgresql JDBC 4.1 驱动程序