java - Oracle JDBC 的 CallableStatement getParameterMetaData().getParameterType() 的替代方案是什么?

标签 java jdbc ojdbc

以下代码抛出异常:

CallableStatement cs = ...
cs.getParameterMetaData().getParameterType( columnIndex );

Caused by: java.sql.SQLException: Unsupported feature
    at oracle.jdbc.driver.OracleParameterMetaData.getParameterType(OracleParameterMetaData.java:166)
    ... 26 more

获取参数类型的替代方法是什么?

最佳答案

如果有人能提供更好的答案,我会接受你的。这是我对自己问题的回答。

CallableStatement cs = ...
for( int i = 1; i <= cs.getParameterMetaData().getParameterCount(); i++) {
    try {
        // because cs.getParameterMetaData().getParameterType( i ) is not supported by ojdbc, we let this throw SQLException
        Object o = cs.getObject(i);
        if( o instanceof ResultSet ) {
            rs = (ResultSet)o;
        }
    } catch( SQLException sqle ) {
        continue;
    }
}

它并没有准确回答我的问题,但它部分解决了我的问题。

关于java - Oracle JDBC 的 CallableStatement getParameterMetaData().getParameterType() 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36465561/

相关文章:

java - 如何将AsyncTask的结果从Activity1发送到Activity2

java - 等待/ sleep 直到特定时间(例如星期四 10 :59) in java

java - 带有 PKI 的 Oracle

java - 尝试连接sql数据库,但找不到驱动程序

java - Hibernate JPA Oracle12C-主键(序列)上的约束冲突异常

java - 如何在 SWT 的 SashForm 上显示句柄?

java - Android AlarmManager 调用运行 Activity

java - 神秘的 SQL 阻止我的存储过程在 ORACLE 上执行

Java SQL JDBC 错误 - 找不到合适的驱动程序错误

java - org.flywaydb.core.api.FlywayException : Unable to instantiate JDBC driver when my java class is triggered from ant taskdef