java.sql.BatchUpdateException: ORA-00932: 数据类型不一致? 怎么回事啊?
CREATE TYPE "HZSMS2"."STRING_ARRAY" AS VARRAY (5000) OF
VARCHAR2(5000)
------
conn.setAutoCommit(false);
//
oracle.sql.ARRAY ora_array1=null,ora_array2=null,ora_array3=null,ora_array4=null;
oracle.sql.ArrayDescriptor arrayDesc1 =
oracle.sql.ArrayDescriptor.createDescriptor("STRING_ARRAY", conn);
oracle.sql.ArrayDescriptor arrayDesc2 =
oracle.sql.ArrayDescriptor.createDescriptor("STRING_ARRAY", conn);
String sql = "insert into t_test (PHONE,OP_ID)";
sql += " values (?,?)";
pstmtInsert = conn.prepareStatement(sql);
String array1[] = new String[30000];
String array2[] = new String[30000];
for (int i = 0; i < 30000; i++) {
array1[i] = "666";
array2[i] = "88";
}
ora_array1 = new oracle.sql.ARRAY(arrayDesc1, conn, array1);
ora_array2 = new oracle.sql.ARRAY(arrayDesc2, conn, array2);
pstmtInsert.setArray(1, ora_array1);
pstmtInsert.setArray(2, ora_array2);
pstmtInsert.addBatch();
int[] upCounts = pstmtInsert.executeBatch();
conn.commit();
---------
java.sql.BatchUpdateException: ORA-00932: 数据类型不一致
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:498)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:1236
8)
。。。。。