PostgreSQL 数据库中的 BatchUpdateException .



我在通过文件将数据插入PostgreSQl时得到BatchUpdateException

。我得到的例外是:

批处理条目 0 {调用PACKAGE_NAME。PROCEDURE_NAME((} 已中止。 调用getNextException以查看原因

源代码如下:-

successMsg = getJdbcTemplate().batchUpdate("{call "+ packageName +"."+ procedureName +sb.toString(),new BatchPreparedStatementSetter(){                 
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException 
{
String values = insertList.get(i);
String []valuesArray=values.split(",");
int parameterCount=ApplicationConstant.ONE;
for(int valueIndex=0;valueIndex<valuesArray.length;valueIndex++)
{
ps.setString(parameterCount++, String.valueOf(valuesArray[valueIndex])!=null?String.valueOf(valuesArray[valueIndex]).trim().replaceAll("@@@", ","):""); //added trim() in order to avoid blank space entry in DB.
}
if(financialMonth!=null&&!financialMonth.equals(""))
{
ps.setString(parameterCount++,"01-"+financialMonth);
}
ps.setInt(parameterCount++,loginBean.getUserId());
ps.setDate(parameterCount, null);                       
}   
@Override
public int getBatchSize()
{
return insertList.size();
}
}); 

正如异常所说,您应该调用getNextException以查看原因。

try{
successMsg = getJdbcTemplate().batchUpdate("{call "+ packageName +"."+ procedureName +sb.toString(),new BatchPreparedStatementSetter(){                 
} catch (SQLException se) {
se.getNextException().printStackTrace();
}

相关内容

  • 没有找到相关文章

最新更新