Я использую sqlite, при использовании Statement.executeBatch (), jvm падает и выдает следующую фатальную ошибку. Нет проблем при использовании PreparedStatement.executeBatch ().
Я создал отдельное соединение и объект выписки из каждого обновления в базе данных. Ошибка ...
#
В среде выполнения Java обнаружена фатальная ошибка:
#
EXCEPTION_ACCESS_VIOLATION (0xc0000005) при pc = 0x6d8fde5c, pid = 1980, tid = 3416
#
JRE версия: 6.0_16-b01
Java VM: клиентская виртуальная машина Java HotSpot (TM) (смешанный режим 14.2-b01, совместное использование windows-x86)
Проблемная рамка:
V [jvm.dll + 0xfde5c]
#
Если вы хотите отправить отчет об ошибке, посетите:
#
МЕТОД ВСТАВКИ ЕСТЬ ....
private void runInsert (int records) {
Заявление stmt = null;
пытаться {
соединение = DriverManager
.getConnection ( "JDBC: SQLite: jdbcbatch.db");
connection.setAutoCommit (ложь);
stmt = connection.createStatement ();
for (int i = 0; i
// Выполнить пакет для INSERT
sDate = System.currentTimeMillis ();
eDate = 0L;
System.out.println ("INSERT начался с" + sDate);
int [] recordsInserted = stmt.executeBatch ();
eDate = System.currentTimeMillis ();
Милли = (eDate - sDate);
System.out.println («INSERT закончилась в» + eDate);
System.out.println ("INSERT Time Milliseconds =" + милли
+ "в секундах =" + милли / 1000);
processTime.put ("INSERT", милли);
if (recordsInserted.length! = records) {
connection.rollback ();
}
connection.commit ();
} catch (SQLException e) {
e.printStackTrace ();
System.err.println (e.getMessage ());
} в конце концов {
пытаться {
if (stmt! = null) {
stmt.close ();
}
if (соединение! = ноль) {
connection.close ();
}
} catch (SQLException e) {
System.err.println (е);
}
}
}
Может кто-нибудь разобраться в моей проблеме, если вы найдете что-нибудь полезное, пожалуйста, отправьте мне.
Заранее спасибо.
B. Patel