Zareca. 2015-12-21 11:26 采纳率: 0%
浏览 1400

java调用存储函数,有些数据可以执行成功,有些却报异常是什么原因?

图片说明
/**
* 获取书籍总点击量
*
* @param bookid 书籍id
* @return 书籍总点击量
* @throws Exception
*/
@Override
public int getClickAllById(int bookid) throws Exception {

    ResultSet rs = null;
    DataParameter[] parameters = new DataParameter[] { 
            adoHelper.getReturnParameter(),
            adoHelper.getParameter("inintbookid", bookid, DataType.INTEGER),
            adoHelper.getOutputParameter("outcurlist", DataType.CURSOR) };

    rs = adoHelper.executeReader(Config.getConfig("bookconnectionstring"), "FN_GETBOOKALLINFOBYID",
            parameters);

    int clickAll = 0;
    if (rs.next()) {
        clickAll = rs.getInt("CLICKRATE_ALL");
    }


    return clickAll;
}


    调用这个存储函数,传入的bookid有些可以执行成功,有些却报异常。异常信息是:
    2015/12/21 16:43:28 | INFO  - MLog                       - MLog clients using log4j logging.

INFO | jvm 1 | 2015/12/21 16:43:28 | INFO - C3P0Registry - Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
INFO | jvm 1 | 2015/12/21 16:43:28 | INFO - stractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> true, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kflt9d1iavakf20c46j|141dddba, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> oracle.jdbc.driver.OracleDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kflt9d1iavakf20c46j|141dddba, idleConnectionTestPeriod -> 60, initialPoolSize -> 3, jdbcUrl -> jdbc:oracle:thin:@orabooksyncdb.qdintra.com:1521:cmfu162, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 60, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 5, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
INFO | jvm 1 | 2015/12/21 16:43:29 | ERROR - Log4j - 获取书籍总点击量失败_bookID:3,173,393,ex:java.sql.SQLException: 调用存储过程[connection:oracle1,procedureName:FN_GETBOOKALLINFOBYID,database:jdbc:oracle:thin:@oracoredb2.qdintra.com:1521:cmfu]出现异常,ex:java.sql.SQLException: ORA-06550: line 1, column 13:
INFO | jvm 1 | 2015/12/21 16:43:29 | PLS-00201: identifier 'FN_GETBOOKALLINFOBYID' must be declared
INFO | jvm 1 | 2015/12/21 16:43:29 | ORA-06550: line 1, column 7:
INFO | jvm 1 | 2015/12/21 16:43:29 | PL/SQL: Statement ignored
INFO | jvm 1 | 2015/12/21 16:43:29 | !

然后我这个做了定时任务,每15分钟执行一次这个程序,定时用的Timer。
数据库用的是Oracle

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-12-21 11:51
    关注

    FN_GETBOOKALLINFOBYID
    数据库中有这个函数么?是不是拼写错了。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料