Показаны сообщения с ярлыком FAQ. Показать все сообщения
Показаны сообщения с ярлыком FAQ. Показать все сообщения

четверг, 16 января 2014 г.

FlylinkDC++ и проблема: не работает поиск!

Всем привет.

Решил уделить внимание топовому вопросу на всех хабах
"программа ничего не находит!"
Данную тему буду обновлять по мере поступления вопросов и разбора каждой конкретной ситуации.

Для упрощения сбора проблем реализовано:
1. В интерфейсе поиска добавлена функция тестирования UDP используемого для поиска в активном режиме.
2. Добавлена вторая маленькая кнопочка поиска
   позволяющая выполнить запрос в пассивном режиме через хаб - должна помочь найти, если    пользователь еще не научился включать upnp и не разобрался, как открывать порты руками.
3. Добавлен линк на данную страницу, чтобы пользователь у кого не работает поиск зашел сюда и прочитал инструкции или отписал свою уникальную ситуацию.

Причина 1  - Программный фаервол.
Временно отключаем его - если помогает, значит виноват он и ищем
   в инете способ добавления программы в исключения применительно к своей программе.
   ссылки на описания основных фаерволов

http://www.dslreports.com/faq/dc/3.1_Software_Firewalls
http://dcplusplus.sourceforge.net/webhelp/faq_unblock.html
(кто найдет лучше и на русском в картинках кидайте ссылки - дополню тему)
Общая рекомендация - все фаерволы имеют режим обучения при старте приложения он спрашивает разрешение для добавления приложения в доверенные - сделайте это и программный фаер не будет мешать.


суббота, 9 октября 2010 г.

Проверка целостности FlylinkDC.sqlite

Привет.

      Клиенты FlylinkDC++ и StrongDC++ sqlite используют для хранения базу данных SQLite
к сожалению  некоторых случаях  (сбой по питанию,"синий экрана смерти" и т.п.) возможно повреждение FlylinkDC.sqlite
В этом случае DC++ не может функционировать нормально и в системном логе выводятся сообщения вида "SQLite - xxx  - SQL logic error or missing database "

Самое простое лечение - "хирургическое"
  • Закрываем программу
  • Удаляем файл FlylinkDC.sqlite
  • Запускаем программу

В этом случае база данных пересоздается автоматически но теряется информация:
  • О скачанных файлах (не подкрашивается цветом - вы уже качали это файл );
  • "Рейтинг" скачано/отдано;
  • TTH всех файлов (выполняется полное перехэширование).
  • Заигноренные юзеры;
  • Информация о последних IP с привязкой к пользователям.
Для диагностики повреждения файла можно воспользоваться "программой"

http://flylinkdc.googlecode.com/files/check-flylinkdc-sqlite.zip

Инструкция
  •  Распаковываем архив в каталог ...\FlylinkDC++\Settings
  •  Запускаем  check_flylinkdc_sqlite.bat
Если ваша база данных повреждена выводится сообщение вида:
echo PRAGMA integrity_check;   | sqlite3.exe FlylinkDC.sqlite
wrong # of entries in index sqlite_autoindex_fly_tth_1
wrong # of entries in index iu_fly_ratio
rowid 3786 missing from index iu_fly_dic_name
wrong # of entries in index iu_fly_dic_name
 
Если все нормально, то пишется "Ok "
echo PRAGMA integrity_check;   | sqlite3.exe FlylinkDC.sqlite
ok

p.s
(c) идея батника SMT + Karumo http://livedc.ucoz.ru/forum/2-6-6863-16-1286467870

upd: 16.03.2013
Добавлено способ восстановления
все делается проще с помощью той же sqlite3.exe
1 делаете резервную копию FlylinkDC.sqlite
2 в cmd переходим в каталог с поломаным FlylinkDC.sqlite
3 echo .dump | sqlite3.exe FlylinkDC.sqlite > FlylinkDC.sql
4 del FlylinkDC.sqlite
5 sqlite3.exe -init FlylinkDC.sql FlylinkDC.sqlite
6 проверяем
pragma integrity_check;
7 выходим .quit


Сам не проверял - нет битой базы.
теоретически если испорчены индексы то ничего вообще не потеряется
если задеты таблицы то тут будет нарушение целостности.