Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Активные темы » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как посмотреть запросы, которые идут к базе?
Можно где достать FBScanner или чем его заменить?
Триал HQBird скачать не могу, форма на сайте не обрабатывается.
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert.
Запустил Trace and audit в IBExpert, но там просто активность без содержания запросов.

Всего записей: 253 | Зарегистр. 03-07-2007 | Отправлено: 07:49 17-08-2016 | Исправлено: ptr73, 10:15 17-08-2016
angeltwo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HQBird скачивал на прошлой неделе, было норм.
Посмотреть запросы можно, настроив fbtrace.conf
Например, так
Подробнее...
все параметры описаны в комментариях в fbtrace.conf

Всего записей: 257 | Зарегистр. 09-05-2007 | Отправлено: 10:40 17-08-2016 | Исправлено: angeltwo, 10:45 17-08-2016
ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
angeltwo, спасибо, пробую fbtrace.
А можете поделиться триалом HQBird?
Я уже с разных компов и браузеров пытался скачать - на кнопке Submit никакой реакции.

Всего записей: 253 | Зарегистр. 03-07-2007 | Отправлено: 10:52 17-08-2016
angeltwo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
Запустил Trace and audit в IBExpert, но там просто активность без содержания запросов.  
 

 
Кстати тоже показывает запросы.  
На кнопку New Trase Session нажать, лишние галки поубирать, бд указать и запустить
Пример выдачи (собственно все аналогично fbtrace.conf)
Подробнее...
 
 

Всего записей: 257 | Зарегистр. 09-05-2007 | Отправлено: 11:12 17-08-2016 | Исправлено: angeltwo, 13:56 17-08-2016
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ptr73

Цитата:
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert


Код:
• Полный доступ ко всей информации, предоставляемой таблицами мониторинга,
имеют SYSDBA и владелец базы данных;
• Обычные пользователи ограничены информацией о собственных соединениях,
другие соединения невидимы для них.

(c) Firebird_Language_Reference_RUS.pdf

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 12:01 17-08-2016
ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
angeltwo, Спасибо! fbtrace работает, лог содержимого запросов делает, буду пользоваться пока им.
 
В IBExpert в New Trase Session расставлял галки по-разному, в sql q. incl. filter стоит
%(SELECT|INSERT|UPDATE|DELETE)%
но содержимое запросов почему-то не логирует
правда, я не понял, каким боком тут упоминается SECURITY2.FDB
Подробнее...    
 
chAlx, все запросы и мониторинг идут из под SYSDBA, собственно, других пользователей и нет.
 
 
 
 
 

Всего записей: 253 | Зарегистр. 03-07-2007 | Отправлено: 12:09 17-08-2016 | Исправлено: ptr73, 12:47 17-08-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Есть таблица лицевых счетов lic. В ней есть числовое поле first_pok. К таблице Lic привязана таблица job в ней тоже есть поле pok. Делаю запрос:
select lic.*,
         iif((select first 1 job.pok from job where job.lic = lic.id order by job.dateon desc) is null,
              lic.first_pok,
              (select first 1 job.pok from job where job.lic = lic.id order by job.dateon desc))
from lic
По запросу видно что в итоге мне нужно проверить в таблице job цифровое значение pok и если его нет подставить first_pok из таблицы lic. Запрос выполняется 2 раза что не есть хорошо.
Делаю по-другому:
select a.*,
         iif(a.job_pok is null, a.first_pok, a.job_pok)
from
(select lic.*,
          (select first 1 job.pok from job where job.lic = lic.id order by job.dateon desc) as job_pok
from lic) a
Выполняется соответственно быстрее в 2 раза. Интересует как можно ещё решить данную задачу? Или я всё делаю правильно?  

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 08:13 30-09-2016
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вариантов всегда несколько
например используем COALESCE

Код:
 
select  
  lic.*,
  coalesce((select first 1 job.pok from job where job.lic = lic.id order by job.dateon desc), lic.first_pok)
from lic
 

 
например EXECUTE BLOCK

Код:
 
execute block
returns ( lic varchar(100), pok integer)
as
declare variable id        integer;
declare variable first_pok integer;
begin
  for select id, lic, first_pok from lic
      into :id, :lic, :first_pok
  do begin
    pok = null;
    select first 1 job.pok from job where job.lic = :id order by job.dateon desc
    into ok;
    pok = coalesce(pok, first_pok);
    suspend;
  end
end
 


Всего записей: 983 | Зарегистр. 30-05-2002 | Отправлено: 08:59 30-09-2016
YpL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik, с интересом прочитал посты
о преимуществах FireDac. А что можете
сказать про IbDac? Есть мысли что лучше
в первую очередь по производительности?

Всего записей: 377 | Зарегистр. 14-12-2005 | Отправлено: 08:49 02-10-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
noisy
Спасибо! Про COALESCE я забыл!

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 08:58 03-10-2016
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YpL
на sql.ru есть специальный топик для холивара "Что лучше AnyDac или UniDac? "  Вот даже ссылочку дам : Ссылка на чтиво
 
У каждой библиотеке есть сильные стороны и слабые места, но они довольно специфические. Наверное IbDac будет чуть привычнее,  зато FireDac встроенный. Если покупать конечно...  FireDac это бывший AnyDac и автор Дмитрий Арефьев (если не ошибаюсь) вменяемый, судя по темам где он участвует.  
 
Если бы у меня стоял выбор - я бы выбрал наверное в сторону FireDac. Скорость наверняка один в один так и то и другое используют клиентскую библиотеку сервера.  
 
Единственный вариант использовать UniDac(IbDac) это если получится его поставить на Delphi Starter...  но пока не пробовал.  

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 13:06 03-10-2016 | Исправлено: waik, 13:09 03-10-2016
YpL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik, на SQL.RU все перечитано, но за ссылку все равно спасибо.  
Интересуют больше результаты тестов. Немножко острожно отношусь
к универсальным библиотекам. Если-бы Бузаджи не забросил Фибы так
и сидел бы на них. А так нужно что-то выбирать. Пока больше склоняюсь
к IbDac.  

Всего записей: 377 | Зарегистр. 14-12-2005 | Отправлено: 20:51 03-10-2016
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YpL
IbDac и UniDac и FireDac касательно работы с сервером FB думаю идентичны.  По скорости обе работают через клиента сервера.  Так что выбирай по другим параметрам. Я то встроенные FD использую чтобы не покупать сторонних библиотек. Один раз уже купил FibPlus хватит.  А ведь они сами когда то были на основе Free InterBase Component построены. И был выбор что покупать в то время между IBObjects и Fib+...  Первые до сих пор живут и развиваются, а вторые загнулись.   Так и хочется вспомнить цитату: Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (С) Механик (The Mechanic)

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 09:17 04-10-2016
YpL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik, с цитатой полностью согласен.  

Всего записей: 377 | Зарегистр. 14-12-2005 | Отправлено: 20:52 04-10-2016
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik

Цитата:
Толковый выбор приходит с опытом

Поддержу холивар: из двух контор, где я работал с IB/FB, одна уже перешла с Дельфи на веб (и, соответственно, опенсорсные компоненты), вторая сейчас переходит ;)

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 23:23 04-10-2016
zealotfan



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YpL
Вставлю свои 5 копеекБлагополучно перевожу все проекты на FireDac с Firebird 3.0. До этого использовал IBX. Особой разницы в скорости не заметил.

Всего записей: 234 | Зарегистр. 25-02-2016 | Отправлено: 08:46 05-10-2016
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zealotfan
Переводишь руками или reFinde используешь?
Я как подумаю сколько работы, так и желание по переводу отпадает

Всего записей: 983 | Зарегистр. 30-05-2002 | Отправлено: 10:09 05-10-2016
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Переведены два проекта  с FIB+ на FireDac под FireBird 2.5   Проекты не большие - один производственный учет в 20 таблиц, десяток вьюх и три четыре десятка процедур. Второй чуть побольше - магазин распределёный по областям, большая номенклатура, много хитростей, карты клиентов и прочее муторное барахло. Под сотню таблиц, столько же хранимых процедур. Переводились руками. Замена датасетов, корректировка вызовов, замена вызовов хранимых процедур.  Динамические запросы почти не менялись - немного обвязку переписать.  Тут просто время надо потратить немного.  Вопрос с переводом с 2.5 на 3.0 оказался немного сложнее.  Пока отложил на будущее.
 
На будущее отложить перевод самих приложений трудно - требуются иногда корректировки. Программы работают больше 10 лет и уже той среды в которой собирал их нет. Собрать конфигурацию на новой студии не получилось как раз из за FIBов... Запиленные версии имеют глюки, авторских сборок нет.  

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 12:43 05-10-2016 | Исправлено: waik, 12:44 05-10-2016
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik
Какие сложности с переходом на Firebird 3 ?

Всего записей: 983 | Зарегистр. 30-05-2002 | Отправлено: 13:03 05-10-2016
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
noisy пока основательно не разбирался. Стандартный путь проверил не читая мануалов - бекап в 2.5 рестор в 3.0. Не восстанавливается. Ругается на неверное использование ключевых слов. Не может скомпилировать процедуры в которых использовались UDF. И ещё что-то много про кривой BLR в старой базе. Тут я вообще не понял что не нравится...  Новые базы создаются без проблем.  В ручную начал перенос , но времени не хватило до сроков сдачи и оставил сервер  у всех клиентов на версии 2.5.  Как оплатят выполненые работы, буду дальше смотреть. Бесплатно ковыряться жалко время.  

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 16:34 05-10-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Активные темы » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru