Страница 1 из 6
[WLX] SQLite Viewer
Добавлено: Пт авг 02, 2013 10:36
Maximus
Простой плагин для просмотра файлов DB баз данных SQLite.
Скачать
Кто пробовал?
Мне не удалось запустить. TC 8.01 & (Windows 7 x86 | Windows XP x86).
Re: [WLX] SQLite Viewer
Добавлено: Пт авг 02, 2013 19:42
ProgMan13
Maximus писал(а):Мне не удалось запустить.
Вообще ни с каким файлом?
Некоторые базы (с триггерами, например) плагин сейчас действительно не открывает.
Добавлено: Пт авг 02, 2013 20:46
CaptainFlint
Попробовал на Firefox-профиле, ни один sqlite-файл у меня тоже не открылся. Не знаю, с триггерами они там или нет…
TC 8.01, Win7 SP1 32-bit, FF 22.0
Добавлено: Пт авг 02, 2013 21:07
ProgMan13
CaptainFlint писал(а):Попробовал на Firefox-профиле, ни один sqlite-файл у меня тоже не открылся.
Что за фалы? Файл urlclassifier3.sqlite открывается, если поменять расширение на db.
Добавлено: Пт авг 02, 2013 21:55
Maximus
ProgMan13
Я пробовал открывать файл, который формируется моим
tcPhonebook.
Про триггеры тоже ничего не знаю.
Добавлено: Пт авг 02, 2013 22:08
Lev
А альтернативным
SQLLite показывается?
Добавлено: Пт авг 02, 2013 22:40
CaptainFlint
ProgMan13 писал(а):Что за фалы? Файл urlclassifier3.sqlite открывается, если поменять расширение на db.
Такого файла у меня вообще нет. Я взял просто список всех файлов с расширением sqlite в профиле FF и его локальных данных (с подкаталогами) и потыкал на них F3. Что расширение ограничивается только DB и DB3, не обратил внимания. Как-то повнятней бы это акцентировать в ридми, что DB — это именно необходимое расширение, а не просто общепринятое сокращение слова database. Кстати, заодно добавить бы в список поддерживаемых расширений SQLITE.
Теперь, зная источник проблемы, проверил с расширениями db: открылись только некоторые из файлов, а именно:
downloads.db
formhistory.db
index.db
permissions.db
signons.db
На остальных плагин просто не загрузился. (А когда я попробовал пробежаться по ним в режиме быстрого просмотра Ctrl+Q, то на первом таком файле отхватил исключение EEDFADE.)
Lev писал(а):А альтернативным SQLLite показывается?
Показывается, но из-за глюков плагина сложно понять, правильно ли. Он там содержимое таблиц не перерисовывает, оставляет старое, да и список таблиц иногда содержит что-то лишнее: в SQLiteViewer их нет, а сам SQLite при щелчке на такой таблице говорит, что её нема, так что неясно, с чего он вообще добавил её в список.
Добавлено: Пт авг 02, 2013 22:50
Lev
А точно, пытался убрать баг с неперерисовкой да забросил это дело.
Тут полуфабрикат. В папке плагина д.б. sqlite3.dll.
Добавлено: Пт авг 02, 2013 23:09
Tol!k
Сабж сработал на след. файлах из профиля FF.22
Код: Выделить всё
chromeappsstore.sqlite
downloads.sqlite
formhistory.sqlite
permissions.sqlite
search.sqlite
signons.sqlite
Файла urlclassifier3.sqlite у меня нет
Добавлено: Пт авг 02, 2013 23:10
Maximus
Lev писал(а):А альтернативным SQLLite показывается?
Показывается. Частично правильно - UTF-8 отображается сами понимаете как.
Добавлено: Сб авг 03, 2013 00:57
ProgMan13
Добавлено: Сб авг 03, 2013 13:58
CaptainFlint
ProgMan13
В версии 1.5 все файлы открылись успешно. Теперь имею следующие репорты/виши:
- При просмотре файлов cookies.db, places.db, webappsstore.db в текущем каталоге создаётся пара одноимённых файлов с расширениями db-shm и db-wal. Нельзя ли их создавать, скажем, во временном каталоге? А то так и существующий файл можно случайно уничтожить (например, если другая программа работает с той же базой и создала такую же пару файлов).
- Выше писал уже реквест: добавить ext="SQLITE" в detect-строку.
- Размеры колонок выставляются по крайне странному алгоритму, так что для коротких строк выделяется едва не полэкрана, а в колонках с длинными строками выводится буквально несколько символов. Ручная настройка сбрасывается, едва выполнишь новый запрос (включая выбор таблицы). Думаю, оптимальным алгоритмом здесь было бы выставление размера колонки равным максимальной длине строки (разумеется, с учётом длины самого заголовка — названия колонки), но с отсечкой по максимально допустимой ширине в пикселях (желательно, конфигурируемой).
- Реквест: По двойному щелчку на границе между колонками выставлять ширину левой колонки по максимальной длине строки в ней (как делается почти во всех приличных программах с табличным выводом). Если будет реализован предыдущий реквест, то, разумеется, здесь ограничение максимальной ширины работать не должно: пользователь явно запрашивает показ полного содержимого. Разве что вывести предупреждение при наличии строк совсем уж запредельной длины. Размер запредельности при этом было бы неплохо конфигурировать.
- Реквест: Если в запросе не меняется таблица, то оставлять размеры колонок теми, что пользователь выставил вручную. Если набор колонок поменялся, то, естественно, это относится только к тем, которые присутствовали в предыдущем запросе. Впрочем, если бы плагин сохранял все эти размеры (в привязке к имени базы и таблицы) долговременно, это было бы вообще супер.
- Реквест: Сортировка по щелчку на заголовке колонки. Например, добавлением order by в запрос. (Если не будет реализован предыдущий реквест, то хотя бы здесь надо будет дополнительно сохранить и восстановить текущие ширины колонок, а то такие дёрги при пересортировке — это будет совсем уж нехорошо.)
- Прокрутка нетипичная и неудобная. а) По вертикали прокручивается не содержимое, а почему-то курсор. б) При вертикальной прокрутке сбрасывается позиция горизонтальной прокрутки. в) Содержимое обновляется только после отпускания бегунка. г) Клавиши влево-вправо не прокручивают влево-вправо, а двигают курсор вверх-вниз.
- Хорошо бы сохранять историю запросов и выводить её в выпадающем списке, прицепленном к соответствующему полю.
- Для быстрого просмотра выбор таблицы из выпадающего списка крайне неудобен. В плагине SQLLite это сделано гораздо лучше (список слева от результата запроса, где таблицу можно выбрать одним щелчком).
- В некоторых таблицах вместо значения показывается просто (Blob). Хорошо бы блобы тоже показывать, потому что по факту там вполне может оказаться текст (плагин SQLLite вполне с этим справляется, например, файл content-prefs.db, таблица prefs, колонка value). Может быть, стоит сделать опционально показ текста или бинарного дампа в шестнадцатеричном виде (с быстрым переключением между ними в интерфейсе плагина).
- Было бы очень полезно увидеть где-нибудь не только содержимое таблиц, но и их структуру. Хотя бы в форме запроса "create table…".
Кажись, пока всё.

Добавлено: Сб авг 03, 2013 14:54
Skif_off
ProgMan13
Копирование не работает?
Добавлено: Сб авг 03, 2013 19:43
Maximus
ProgMan13
Мой файл теперь тоже открывается. Спасибо.
Добавлено: Вс авг 04, 2013 02:56
ProgMan13
CaptainFlint
1. Особенности используемой библиотеки, отписал автору.
2. В 1.5 и появилось.
3. + Всем строкам по умолчанию выделяется побольше места. "Выставление размера колонки равным максимальной длине строки" - это чтение всей таблицы (т.е. долго), но возможно, будет такой выбор. Пока сделал для первой 1000 без ограничений по длине.
4. + Авторазмер колонки по двойному щелчку реализован.
5. Полностью нет (может, пока что). На данном этапе размер колонок ни к чему не привязан, т.е. надо будет сохранять соответствие названия колонки к размеру.
6. + Сортировка по order by.
7. Такое поведение у контрола.
8. Пока нет.
9. А вот это очень спорный вопрос.
10. Тут и пункт 7, и особенности библиотеки...
11. + Вроде, добавил.
Пункты 4 и 6 могут глючить.
По поводу используемых компонентов (и пункта 10 в частности) - это какая-никакая скорость работы и отсутствие необходимости в sqlite3.dll.
Что-то нашёл для примера, но там всего 140 тысяч записей:
http://sv-utils.googlecode.com/svn/trun ... in/test.db
Skif_off
Что нужно копировать?
Версия 1.6:
http://progman13.totalcmd.net/downloads ... er_1.6.zip