JAVA-JDBC';数字溢出';将oracle表写入文件时
我有以下代码将oracle db值写入csv文件。对于小数据集,普林宁工作正常,但对于大数据集,显示以下错误JAVA-JDBC';数字溢出';将oracle表写入文件时,java,jdbc,Java,Jdbc,我有以下代码将oracle db值写入csv文件。对于小数据集,普林宁工作正常,但对于大数据集,显示以下错误 Error: Exception in thread "main" java.sql.SQLDataException: ORA-01426: numeric overflow 我使用下面的代码将表格打印到CSV //creating PreparedStatement object to execute query PreparedStatement preState
Error: Exception in thread "main" java.sql.SQLDataException: ORA-01426: numeric overflow
我使用下面的代码将表格打印到CSV
//creating PreparedStatement object to execute query
PreparedStatement preStatement;
preStatement = connection.prepareStatement(sql);
ResultSet result = preStatement.executeQuery();
ResultSetMetaData rmsd = result.getMetaData();
int Columncount = rmsd.getColumnCount();
//Get the column name and print the column name
for (int iterator=1; iterator<= Columncount; iterator++)
{
fw.append(rmsd.getColumnName(iterator)+",");
}
fw.append(LINE_SEP); //goto next line
//Print the data into excel using iteration
while(result.next()){
try {
for (int jterator=1; jterator<=Columncount; jterator++){
fw.append(result.getString(jterator));
fw.append(',');
}
fw.append(LINE_SEP);
} catch (SQLException e)
{
e.printStackTrace();
}
fw.flush();
fw.flush();
}
System.out.println("Data is successfully written to "+conn.fileName);
fw.close();
}
您的查询是什么样子的?若要获得该错误,您必须在查询中进行一些数学运算,因此,如果您向我们展示该查询,我们可能会帮助您找出要更改的内容。您展示的Java代码不能导致这种情况发生。我们需要看到的是SQL查询,我们可能还需要知道被查询列的数据类型。更新了查询的列类型和列类。这就是你们想要的吗?不,不是。他们询问您正在执行的SQL;i、 e.
sql
变量中有什么。。。。
Column 1 Type = 12 & ColClass = java.lang.String
Column 2 Type = 12 & ColClass = java.lang.String
Column 3 Type = 12 & ColClass = java.lang.String
Column 4 Type = 12 & ColClass = java.lang.String
Column 5 Type = 93 & ColClass = java.sql.Timestamp
Column 6 Type = 93 & ColClass = java.sql.Timestamp
Column 7 Type = 2 & ColClass = java.math.BigDecimal
Column 8 Type = 2 & ColClass = java.math.BigDecimal