I'm currently trying to resolve an issue related to a program written by someone else that uses Jackcess version 1.1.8 to write information out to an Access database. In a run which should add 4 million rows to a given Access table, the following exception occurs:
08/29/2016 06:01:47 | ERROR | java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Unknown Source)
at java.nio.HeapByteBuffer.getInt(Unknown Source)
at com.healthmarketscience.jackcess.ReferenceUsageMap.addOrRemovePageNumber(ReferenceUsageMap.java:82)
at com.healthmarketscience.jackcess.UsageMap.addPageNumber(UsageMap.java:201)
at com.healthmarketscience.jackcess.Table.newDataPage(Table.java:761)
at com.healthmarketscience.jackcess.Table.addRows(Table.java:714)
at com.healthmarketscience.jackcess.Table.addRow(Table.java:660)
From what I've seen online, it appears that the current version of Jackcess is 2.*, so is this something that can be solved by using the latest version, or is there a bigger problem, i.e., is 4 million too many rows for an Access table? Alternatively, is there a way to add rows via a Cursor object that would be less memory-intensive?