有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

oracle的java类强制转换异常。jdbc。驾驶员OracleConnection

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

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....");

共 (1) 个答案

  1. # 1 楼答案

    Clob clob = connection.createClob();
    clob.setString(1, transcript);
    

    或者简单地使用setClob()方法将读取器作为参数:

    pstmt.setClob(1, new StringReader(transcript));
    

    不需要使用任何数据库专有类。JDBC应该是一个与数据库无关的抽象层