SQLite застрял на метод SQLite.trampoline () - PullRequest
0 голосов
/ 04 ноября 2011

Я написал программу на Java, которая использует SQLite (v056).

Я много раз запрашиваю БД, используя оператор (вызывая его executeQuery() метод), и он отлично работает.

Через некоторое время застревает на методе trampoline().

Запрос, выполненный за это время:

select * from defs where word like 'AA' and size=2;

Я действительно не знаю, что не так и почему оно застряло.

У некоторых из вас была такая же проблема? Ты знаешь как это решить?

Спасибо, вперед!

1 Ответ

1 голос
/ 04 ноября 2011

Я не уверен, какова ситуация на платформе Android, но драйвер Zentus SQLiteJDBC основан на SQLite 3.6.14.2, которому более двух лет, не говоря уже о том, что SQLite 3.6.x имеет был заменен SQLite 3.7 в течение довольно долгого времени.

Возможно, вы могли бы попробовать Xerial SQLiteJDBC драйвер , который является более новым, хотя он также не был обновлен до последней версии SQLite.

EDIT:

  1. Очевидно, что метод trampoline() является частью NestedVM версии библиотеки SQLite, которая используется SQLiteJDBC, когда у нее нет собственной библиотеки SQLite для вашей платформы. Реализация NestedVM, кажется, раздвигает границы JVM, и отладку будет чрезвычайно сложно - лучше убедиться, что доступна нативная библиотека.

  2. Если вы программируете для Android, вам вообще не следует использовать SQLiteJDBC. У Android есть собственный API для работы с БД SQLite. Учебник по использованию SQLite в Android можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...