Rav*_*dra 5 sql database oracle jdbc
我得到以下内容
java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyConnection
Run Code Online (Sandbox Code Playgroud)
当以下代码执行时.你能帮我解决一下吗?
ComboPooledDataSource connPool = new ComboPooledDataSource();
connPool .setJdbcUrl(PropertyReader.getSystemProperty(DB_URL));
connPool .setUser(PropertyReader.getSystemProperty(DB_USER));
connPool .setPassword(Decryption.getDecryptedPwd(DB_PASSWORD));
connPool .setMaxPoolSize(MAX_POOL_SIZE);
connPool .setMaxIdleTime(MAX_IDLE_TIME);
connPool .setMinPoolSize(MIN_POOL_SIZE);
connPool .setMaxAdministrativeTaskTime(15);
java.sql.Connection conn = connPool.getConnection();
oracle.sql.CLOB c = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
Writer writer = c.setCharacterStream(0L);
writer.write(String.valueOf(pNoListDelimited).toCharArray());
writer.flush();
writer.close();
Run Code Online (Sandbox Code Playgroud)
异常堆栈跟踪
java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyConnection
at oracle.sql.CLOB.createTemporary(CLOB.java:676)
at oracle.sql.CLOB.createTemporary(CLOB.java:640)
……
…..
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)
Run Code Online (Sandbox Code Playgroud)
您正在使用特定于Oracle的API,期望您的Connection成为特定的Oracle Connection类.但是您正在使用的Connection是c3p0代理连接,而不是Oracle Connection类.
如果你想使用特定于Oracle的api,你有几个选择:
祝好运!