У меня возникла следующая проблема, и я не знаю, как ее решить. Я использую SqlJet для доступа и управления небольшой БД Sqlite. Поразительная простота этой библиотеки! Но теперь мне нужно выполнить сложный запрос, который нельзя выразить с помощью методов, предоставляемых библиотекой. На сайте говорят

SQLJet не поддерживает запросы SQL; есть API для работы с базой данных на нижнем уровне

И мне было интересно, кто-нибудь из вас знает, что это за API нижнего уровня для выполнения SQL-запросов?

0
user1384636 7 Янв 2013 в 15:19

1 ответ

Лучший ответ

Насколько я могу судить из своего исследования, в SQLJet нет поддержки произвольных SQL-запросов. Сначала я подумал, что это оболочка sqlite, но на самом деле это не так, поэтому также нет возможности использовать JDBC. Помимо строк поиска по имени и индексному материалу, API «нижнего уровня», о котором они говорят на своей странице, кажется просто прямым доступом к внутреннему представлению БД, как указано в этот пост.

Если взглянуть на JavaDoc и исходные коды, это могут быть методы SqlJetDb.getSchema () и getTable (). Нет надлежащей документации по API или руководств, есть даже жалоба на это в системе отслеживания проблем.

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

0
Benjamin Maurer 7 Янв 2013 в 18:09
Использование SqlJet в проекте обязательно, стандартный интерфейс использовать не могу. Мне нужно передать этот запрос через SQLjet. Мне было интересно, означает ли «есть API для работы», что ОНИ предоставляют API для нижнего уровня, или они означают «использовать стандартный интерфейс».
 – 
user1384636
7 Янв 2013 в 17:07
Я отредактировал свой ответ, до н.э. это поле комментария слишком маленькое. Опять же, возможно, вы сможете описать, что хотите сделать, и мы найдем способ сделать это без правильных SQL-запросов.
 – 
Benjamin Maurer
7 Янв 2013 в 18:10
Я поговорил с менеджером проекта, и она решила перейти на небольшой рефакторинг. В любом случае, спасибо
 – 
user1384636
7 Янв 2013 в 19:22