2015-07-02 2 views
-1

Я начал использовать ucanaccess в последнее время для подключения к базе данных доступа (очевидно), и все это работало нормально до сих пор. Я начинаю вставлять около 500 000 строк в базу данных .... когда я достигаю 400 000, программа останавливается ... проблема в том, что я не вижу исключения! я вижу это -ucanaccess weird exception я не могу обработать

at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:747) 
at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:337) 
at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:354) 
at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:115) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:747) 
at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:337) 
at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:354) 
at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:115) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:747) 
at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:337) 
at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:354) 
at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:115) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:747) 
at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:337) 
at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:354) 
at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:115) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.addOrRemovePageNumber(UsageMap.java:747) 
at com.healthmarketscience.jackcess.impl.UsageMap.removePageNumber(UsageMap.java:337) 
at com.healthmarketscience.jackcess.impl.PageChannel.allocateNewPage(PageChannel.java:354) 
at com.healthmarketscience.jackcess.impl.TempPageHolder.setNewPage(TempPageHolder.java:115) 
at com.healthmarketscience.jackcess.impl.UsageMap$ReferenceHandler.createNewUsageMapPage(UsageMap.java:763) 

Я не могу увидеть, где началось исключение! это случилось со мной однажды, но после выполнения «сжатия и ремонта» он снова работал ... теперь нет.

Кто-нибудь знает, что происходит с ним?

+0

Это происходит на уровне загрузочного слота, поэтому вы должны попросить об их помощи (я имею в виду, предоставляя трассировку стека исключений, она действительно выглядит как переполнение стека). Что такое версия ucanaccess/jackcess? – jamadei

+0

немного задумался над этим исключением, он считает, что у вас есть «нестандартная» база данных (похоже, что внутреннее отслеживание db не обрабатывается ожидаемым образом). как была создана эта база данных? – jtahlborn

ответ

0

проверьте следующие три вещи.

Прежде всего, если вы используете какую-либо среду IDE, убедитесь, что вы увеличили буфер журнала, чтобы перейти к началу этого исключения. Может не оказать большую помощь, но будет лучше, чем смотреть где-то между ними.

Во-вторых, насколько размер файла DB? Существует ограничение на размер файла DB Access, что иногда приводит к таким нетрадиционным ошибкам. Проверь это.

В-третьих. Не открывайте ИЛИ пытайтесь сделать что-то еще с этой конкретной БД при обновлении/вставке с использованием ucanaccess. При этом большая часть времени приводит к этой проблеме.

Смежные вопросы