首先描述现象:1)有两台服务器A,B;
A : oracle10g,weblogic 10;jdk 6
B : oracle10g,weblogic 8;jdk 5
数据库是指向同一数据库,部署代码也同一代码;
同时做批量导入文件操作(就是往表里插入数据);一次插入1万数据,一共20次;
A 再插入第四次就抛出异常;
B 正常插入20万数据;
代码部分:
public void userInterfaceCoverImport(PageData pd, IDataset dataset) throws Exception {
if (dataset == null || dataset.isEmpty())return ;
StockSaleDAO dao = new StockSaleDAO(pd);
String table_name = "T_M_STOCK_SAL_IN_20" ;
dao.insert(table_name, dataset);
}
IDataset 是个hashmap ;dao.insert 也是公司框架封装tapestry方法; 看不出问题
异常部分
Caused by:
java.sql.SQLException: executeBatch, Exception = null
at weblogic.jdbc.wrapper.JDBCWrapperImpl.invocationExceptionHandler(JDBCWrapperImpl.java:141)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:201) at com.unicomgd.sale.bean.stocksale.StockSaleBean.userInterfaceCoverImport(StockSaleBean.java:491)
... 34 more
Caused by:
java.lang.ArrayIndexOutOfBoundsException
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2677)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9270)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:210)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:191)
... 40 more
目前怀疑是jdbc驱动有问题;但是我把B的驱动,拷贝到A上面还是不行;
不知道,有没有也遇到类似问题