Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException:数值溢出_Java_Jsf 2_Oracle11g - Fatal编程技术网

java.sql.SQLException:数值溢出

java.sql.SQLException:数值溢出,java,jsf-2,oracle11g,Java,Jsf 2,Oracle11g,我正在使用JSF在同一页面上构建饼图和条形图,这两个组件都从这个查询中获取信息: select 'ACCOUNTS'PRODUCT,sum(ACCT_BAL_LCY) AMOUNT from account_master where schm_type in(?, ?, ?,?) and ACCT_BAL_LCY >0 union select 'BILLS'PRODUCT, sum(LIAB_AMT_LCY)AMOUNT from bills_details union select

我正在使用JSF在同一页面上构建饼图和条形图,这两个组件都从这个查询中获取信息:

select 'ACCOUNTS'PRODUCT,sum(ACCT_BAL_LCY) AMOUNT from account_master where schm_type in(?, ?, ?,?) and ACCT_BAL_LCY >0 
union select 'BILLS'PRODUCT, sum(LIAB_AMT_LCY)AMOUNT from bills_details union select 'DOCUMENTARY CREDITS'PRODUCT,sum(LIAB_AMOUNT)AMOUNT 
from DC_DETAILS union select 'GUARANTEES'PRODUCT, sum(LIAB_AMT_LCY)AMOUNT from BG_DETAILS;
执行它的方法是:

 private void createPieModel() {
        pieModel = new PieChartModel();
        categoryModel = new CartesianChartModel();
        ChartSeries act = new ChartSeries();
        act.setLabel("Product Types");
        Connection conn;
        db = new DBConnection();
        conn = db.getDbConnection();
        pr = new BiProperties();
        try {
            String sql = pr.getDBProperty().getProperty("liability.bank");
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "SBA");
            ps.setString(2, "CAA");
            ps.setString(3, "TDA");
            ps.setString(4, "CCA");
            ResultSet rs = ps.executeQuery();
            int i = 0;
            while (rs.next()) {
                pieModel.set(rs.getString(1), rs.getInt(2));
                act.set(rs.getString(1), rs.getInt(2));//Error on this Line
                cities.put(i, rs.getString(1));
                i++;

            }
            categoryModel.addSeries(act);

        } catch (SQLException asd) {
            log.debug(Level.FATAL, asd);
        }
    }
有时两个图都显示,有时没有一个图显示,而在其他时间,只有饼图显示。在检查后端时,我发现以下错误:

java.sql.SQLException: Numeric Overflow

如何避免这种情况,因为它是随机发生的???

我怀疑它是由SQL中的聚合函数引发的。

默认情况下,AFAIR SQL将定义一个变量来保存聚合函数结果,使其与此函数的参数类型相同。您可能希望在SQL中将其重新定义为更高的精度/大小变量

这可能会有帮助:[[1]:在这条sql中,除了sum()之外,我没有任何函数。这是一条来自相关表的普通select语句。如果您的列被定义为太小而无法容纳聚合值,则它适用于任何聚合函数。