Page 3 of 4
Polygon - работа с файлами SQLite3
Posted: Thu 06 Sep, 2018 20:24
by HaRT
Latest post of the previous page:
Shmuel wrote: ↑Thu 06 Sep, 2018 20:14
возвращает вышеприведенную ошибку, если не получается
Но остаётся вопрос: можем ли мы различить невалидную и залоченную базу. Казалось бы, невалидная не должна даже читаться, а залоченность должно быть возможно как-то проверить…
Polygon - работа с файлами SQLite3
Posted: Thu 06 Sep, 2018 20:28
by Shmuel
Насчёт залоченности - это надо экспериментировать. Это должен быть редкий случай, так как нормально SQLite допускает одновременное открытие и работу с базой нескольких пользователей.
Polygon - работа с файлами SQLite3
Posted: Thu 06 Sep, 2018 20:49
by HaRT
Shmuel wrote: ↑Thu 06 Sep, 2018 20:28
должен быть редкий случай
В самом деле, не знаю, как мне удалось напороться на ту ошибку. Наверно, и впрямь не слишком практически значимая ситуация.
Polygon - работа с файлами SQLite3
Posted: Thu 06 Sep, 2018 21:07
by Shmuel
Сейчас искусственно залочил файл и попытался открыть плагином. На сей раз SQLite вернула код ошибки и сообщение, впрочем, не более информативное, чем было:
Code: Select all
╔══════════════════════════════════╗
║ 1│ 14 ║
║ 2│ unable to open database file ║
╚══════════ 2 arguments ═══════════╝
Polygon - работа с файлами SQLite3
Posted: Thu 06 Sep, 2018 21:13
by Shmuel
А вот реакция DB Browser на залоченный (валидный!) файл:

- Clipboard01.jpg (7.57 KiB) Viewed 10848 times
Polygon - работа с файлами SQLite3
Posted: Fri 07 Sep, 2018 01:05
by DrKnS
Shmuel wrote: ↑Thu 06 Sep, 2018 21:07не более информативное, чем было
В sqlite3_system_errno может быть что-то типа ERROR_SHARING_VIOLATION.
Polygon - работа с файлами SQLite3
Posted: Sat 08 Sep, 2018 18:05
by Shmuel
HaRT wrote: ↑Tue 04 Sep, 2018 16:44
Так ведь хочется дамп не всей базы, а только выбранных в панели таблиц.
На данный момент ещё не определился, буду ли это делать, но sqlite3.exe позволяет делать дамп отдельных таблиц тоже.
Например:
sqlite3 panelmodes.db ".dump table_values" > 1.sql
Polygon - работа с файлами SQLite3
Posted: Fri 14 Sep, 2018 05:27
by IgorZ
Давно уже хотел спросить, но раньше всё как-то руки не доходили. Не то, чтоб это было критично, но интересно: почему у Polygon стоит флаг PF_DISABLEPANELS
?
Polygon - работа с файлами SQLite3
Posted: Fri 14 Sep, 2018 05:58
by Shmuel
В настройках плагина есть [x] Add to plugins menu.
Polygon - работа с файлами SQLite3
Posted: Fri 14 Sep, 2018 08:19
by 2useven10
Имя флага не слишком помогает понять что он делает.
PF_DISABLEPANELSMENU было бы более очевидно (PF_EDITOR PF_VIEWER PF_DIALOG -> PF_ENABLExxxMENU).
Polygon - работа с файлами SQLite3
Posted: Fri 14 Sep, 2018 10:48
by IgorZ
Shmuel wrote: ↑Fri 14 Sep, 2018 05:58
В настройках плагина есть [x] Add to plugins menu.
"Слона-то я и не заметил..." (с)
Polygon - работа с файлами SQLite3
Posted: Sat 22 Sep, 2018 14:41
by Shmuel
HaRT wrote: ↑Tue 04 Sep, 2018 16:02
Пара пожеланий:
1. Формат SQL при экспорте таблицы — т.е. по сути SQL-дамп таблицы (т.е. код, который можно использовать, чтобы воссоздать таблицу с её нынешними данными). Некоторые реляционные СУБД предоставляют такую возможность из коробки.
Посмотрел я реализацию дампа в коде sqlite3.exe - хотел использовать, чтобы не изобретать велосипед. Но эта реализация тянет чуть ли не на 1000 строк кода, что никак не укладывается в мои возможности по времени.
Тогда возникла такая идея: юзер выбирает таблицы для дампа и имя выходного файла, а плагин формирует комстроку для sqlite3.exe и запускает его с этой комстрокой. Если sqlite3.exe не найден, тогда, конечно, пролетаем.
Polygon - работа с файлами SQLite3
Posted: Mon 07 Jun, 2021 21:44
by buniak_a_h
1. sqlite3.dll есть в наличии (без неё ошибка возникала на этапе загрузки макросов). Это я для предотвращения ответов типа «не загружена sqlite3.dll».
2. При попытке "зайти" в базу получаю:
Code: Select all
╔══════════════════════════════════════════════════ Error ══════════════════════════════════════════════════╗
║ E:\Far.Test\Plugins\polygon\polygon_e-x64.dll: ║
║ [string "<boot"]:63: error loading module 'lsqlite3' from file 'E:\Far.Test\Plugins\polygon\lsqlite3.dl': ║
║ Не найдена указанная процедура. ║
║ ║
║ stack traceback: ║
║ [C]: in function 'error' ║
║ [string "<boot"]:63: in function 'n' ║
║ [string "<boot"]:71: in main chunk ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ { OK } ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════╝
, хотя указанный файл (
lsqlite3.dl) в указанной папке имеется.
DBEdit.lua работает… Плагин
SQLite database editor от
Artem Senichev, Vladimir Surguchev - тоже работает.
Чего полигону не хватает?
Polygon - работа с файлами SQLite3
Posted: Mon 07 Jun, 2021 22:02
by Shmuel
buniak_a_h wrote: ↑Mon 07 Jun, 2021 21:44
Чего полигону не хватает?
Не знаю. Только что проверил версию 1.4.1 на чистом профиле последнего Фара - работает.
P.S. Судя по сообщению ошибки, возможно требуется более новая версия sqlite.dll.
Сейчас попробовал старую 3.8.6 - получил ошибку, подобную вашей.
Polygon - работа с файлами SQLite3
Posted: Mon 07 Jun, 2021 23:42
by buniak_a_h
Shmuel, ура!!! Заработало…
Polygon - работа с файлами SQLite3
Posted: Mon 05 Jul, 2021 09:26
by Zyx
Добрый день.
Far Manager, version 3.0.5843.0 x86
Polygon 1.4.3.
Существует проблема с блокировкой файла базы после работы с ней плагина. После выхода из базы, файл остается заблокирован Фаром.
Возможно ли исправить данную проблему?