Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: zealotfan
Дата сообщения: 06.06.2016 07:52
Вся документация на русском вроде здесь https://ibase.ru/develop/
Автор: tanaseduard
Дата сообщения: 06.06.2016 13:07
zealotfan
Спасибо. А кто тестировал на боевой базе?
Автор: zealotfan
Дата сообщения: 06.06.2016 13:51
tanaseduard
Я сразу перешёл на firebird 3.0 как только он вышел. Поставил SuperClassic конфигурацию. Проблем вроде нет. Заниматься замерами скорости пока времени нет
Автор: Shaman2
Дата сообщения: 06.06.2016 14:03
А кто-то использует еще компоненты FibPlus ? как они дружат с firebird 3.0 ?
Автор: waik
Дата сообщения: 06.06.2016 14:08
Shaman2 использую. Когда то покупал. Потом варезные стал пользовать. Сейчас ищу альтернативу. Смысла переводить новые проекта на этой библиотеке сейчас нет. Загнулись они, как мне кажется. FireDac не хуже по скорости. Чуть менее удобно может, но точно будет поддерживать (или вероятно уже). Да и старые версии скорее всего будут работать - в клиентской dll ведь нет никаких парсеров - только транспорт.
Автор: zealotfan
Дата сообщения: 06.06.2016 14:25
Я всегда использовал стандартные IBX компоненты в приложениях. С переходом на firebird 3.0 пришлось менять во всех TIBQuery поля, где есть подзапрос типа (select count(*) from table) т.к. раньше результатом становилось поле типа integer теперь результатом является тип LargeInt. И в IBX у меня так и не получилось сделать запрос с execute block
Автор: Shaman2
Дата сообщения: 06.06.2016 14:30

Цитата:
Shaman2 использую. Когда то покупал. Потом варезные стал пользовать. Сейчас ищу альтернативу. Смысла переводить новые проекта на этой библиотеке сейчас нет. Загнулись они, как мне кажется. FireDac не хуже по скорости. Чуть менее удобно может, но точно будет поддерживать (или вероятно уже). Да и старые версии скорее всего будут работать - в клиентской dll ведь нет никаких парсеров - только транспорт.


У меня пару больших проектов которые переводить с плюсов на что-то еще очень затратно. А перейти на FB хочется. Но вот как с совместимостью, в новом ФБ добавлены булевые поля и т.п.
Автор: waik
Дата сообщения: 06.06.2016 14:53
Shaman2 Старые проекты на то и старые , что новых фишек там не нужно. Посмотри на сайт devrace - новости от 2013 года. Крайняя официальная версия под XE5. На форумах ни одного ответа от разработчиков. Считай сдохла библиотека. Я бы не стал на неё рассчитывать. Тем более под новый сервер с новыми фичами.
Автор: Shaman2
Дата сообщения: 06.06.2016 14:58

Цитата:
Shaman2 Старые проекты на то и старые , что новых фишек там не нужно. Посмотри на сайт devrace - новости от 2013 года. Крайняя официальная версия под XE5. На форумах ни одного ответа от разработчиков. Считай сдохла библиотека. Я бы не стал на неё рассчитывать. Тем более под новый сервер с новыми фичами.


У меня один проект с 2001 года, второй с 2005. Оба понемножку развиваются по сей день, но переписывать их полностью под другую библиотеку... подумываю периодически о FireDAC, но как то не готов
Автор: waik
Дата сообщения: 06.06.2016 17:06
Shaman2 у FIB проблемы возникают не только со стороны сервера. Моя версия сейчас не хочет дружить со свежими EhLib - sql фильтрация почему то не работает, только локальная. Сортировка по гриду тоже с танцами запустилась. Причину не могу найти, но способ решения нашел - замена грида на такой же в дизайне. С другими компонентами доступа (программа работает с Oracle и Firebird серверами) - например DOA таких проблем нет. Склоняюсь к переписыванию.
Автор: zealotfan
Дата сообщения: 07.07.2016 12:43
Кто в своих базах данных использует представления(VIEW)? Интересует в каких случаях рекомендуется их использовать.
Автор: chAlx
Дата сообщения: 07.07.2016 13:23
zealotfan:

Не буду расписывать стандартные случаи, типа вьюхи с конвертированием типов полей (timestamp->date) и последующей группировкой при выборке из этой вьюхи.

Раз вопрос в этом топике, приведу простой пример: делаешь вьюху только с нужными полями и условиями, даёшь на неё права доступа соответствующей роли (или юзеру). В результате юзер не может обратиться напрямую к таблицам и получить лишнее.
Автор: jonikDk
Дата сообщения: 07.07.2016 13:26

Цитата:
Кто в своих базах данных использует представления(VIEW)? Интересует в каких случаях рекомендуется их использовать.

Удобство
ограничение доступа к таблицам
может еще что-то

Если не возникало надобности, то и не используйте.
Автор: zealotfan
Дата сообщения: 07.07.2016 13:38
chAlx
jonikDk
Теперь всё понял. Спасибо за доходчивые ответы. В моём случае в использовании нет необходимости.
Автор: noisy
Дата сообщения: 13.07.2016 20:32
может у кого есть Migration Guide to Firebird 3 ?
Автор: ptr73
Дата сообщения: 17.08.2016 07:49
Подскажите, как посмотреть запросы, которые идут к базе?
Можно где достать FBScanner или чем его заменить?
Триал HQBird скачать не могу, форма на сайте не обрабатывается.
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert.
Запустил Trace and audit в IBExpert, но там просто активность без содержания запросов.
Автор: angeltwo
Дата сообщения: 17.08.2016 10:40
HQBird скачивал на прошлой неделе, было норм.
Посмотреть запросы можно, настроив fbtrace.conf
Например, так
[more]

Код:
# fin15_debug|OS15_debug|PUBL15_debug - это алиасы к базам,
# пользователи, которые их используют, будут попадать в лог
<database (fin15_debug|OS15_debug|PUBL15_debug)>
    enabled true
# имя файла лога начинается с ! знака, далее алиас и .log
    log_filename f:\\FDBLogs\\!\1.log
    max_log_size 3
#    include_filter (RECREATE|CREATE|ALTER|DROP|GRANT|REVOKE) %
    log_connections true
    log_statement_finish true
    print_plan true
    print_perf true
    log_context true
    log_errors true
    log_sweep true
    time_threshold 0
    max_sql_length 4000
    max_arg_length 80
    max_arg_count 30
</database>
Автор: ptr73
Дата сообщения: 17.08.2016 10:52
angeltwo, спасибо, пробую fbtrace.
А можете поделиться триалом HQBird?
Я уже с разных компов и браузеров пытался скачать - на кнопке Submit никакой реакции.
Автор: angeltwo
Дата сообщения: 17.08.2016 11:12

Цитата:

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


Кстати тоже показывает запросы.
На кнопку New Trase Session нажать, лишние галки поубирать, бд указать и запустить
Пример выдачи (собственно все аналогично fbtrace.conf)
[more]
IBE> Trace session "IBE_17.08.2016 11:53:15" started successfully...
IBE> Server: ***********
IBE> Client library: **********\gds32.dll
IBE> User: SYSDBA


Trace session ID 1 started
2016-08-17T11:53:17.4670 (5588:00000000003DD9E8) TRACE_INIT
SESSION_1 IBE_17.08.2016 11:53:15


2016-08-17T11:53:17.8320 (5588:00000000003DD9E8) EXECUTE_STATEMENT_FINISH
fin16 (ATT_592, **********:FINTUNER, WIN1251, TCPv4:***********)
C:\Documents and Settings\*********\Infotech\B2K\Bin\Bit2000mnu.exe:3988
(TRA_4712, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

Statement 52399:
-------------------------------------------------------------------------------
SELECT TYPEMSG FROM RASPRI_MAIL WHERE TABLENAME='RAS' AND CODEBRANCH= ? AND CAST(UNIQ AS NUMERIC(16,0))= ?
AND (TABLENAME='RAS' AND CODEBRANCH= ? AND CAST(UNIQ AS NUMERIC(16,0))= ? )


param0 = integer, "<NULL>"
param1 = bigint, "<NULL>"
param2 = integer, "<NULL>"
param3 = bigint, "<NULL>"

0 records fetched
145 ms, 939 read(s), 90462 fetch(es)

2016-08-17T11:53:34.0180 (13028:0000000000EFD9E8) TRACE_INIT
SESSION_1 IBE_17.08.2016 11:53:15


2016-08-17T11:53:45.2970 (3756:00000000028BD9E8) TRACE_INIT
SESSION_1 IBE_17.08.2016 11:53:15


2016-08-17T11:53:47.7900 (3756:00000000028BD9E8) EXECUTE_STATEMENT_FINISH
fin16 (ATT_593, ***********:FINWRITER, WIN1251, TCPv4:***********)
C:\Users\**********\Infotech\B2K\Bin\Bit2000mnu.exe:6160
(TRA_4724, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

Statement 52521:
-------------------------------------------------------------------------------
select BS_D as K_BS,EXPENSEITE_D as K_EXPENSEITE,PREDIM_D as K_PREDIM,SRKAPSTR7_D as K_SRKAPSTR7,VIDO_D as K_VIDO,MESTOR39_D as K_MESTOR39,FAKT_D as K_FAKT,INVOBOS77_D as K_INVOBOS77,STRVLSTROB_D as K_STRVLSTROB,NALOGPER999_D as K_NALOGPER999,min(NP) as NP,min(DAT) as DAT,min(GEN) as MYREGND,min(REGDOC) as REGDOC,min(BS_K) as BS,sum(DB.VAL) as VAL,CRY,sum(RUB) as RUB,sum(KOLVO) as KOLVO,min(PRIM) as PRIM from DB where DAT between '01/01/2016' and '07/31/2016' and (BS_D in ('0803','0809')) and (EXPENSEITE_D LIKE '03235%') group by BS_D,EXPENSEITE_D,PREDIM_D,SRKAPSTR7_D,VIDO_D,MESTOR39_D,FAKT_D,INVOBOS77_D,STRVLSTROB_D,NALOGPER999_D,CRY HAVING SUM(RUB)<>0.00 OR SUM(DB.VAL)<>0.00 OR SUM(KOLVO)<>0.000000 order by BS_D NULLS LAST,EXPENSEITE_D NULLS LAST,PREDIM_D NULLS LAST,SRKAPSTR7_D NULLS LAST,VIDO_D NULLS LAST,MESTOR39_D NULLS LAST,FAKT_D NULLS LAST,INVOBOS77_D NULLS LAST,STRVLSTROB_D NULLS LAST,NALOGPER999_D NULLS LAST,CRY

5 records fetched
2368 ms, 17392 read(s), 1075871 fetch(es)

2016-08-17T11:53:59.4750 (13028:0000000000EFD9E8) EXECUTE_STATEMENT_FINISH
fin16 (ATT_255, ***********:FINWRITER, WIN1251, TCPv4:**************)
C:\Users\************\Infotech\B2K\Bin\Bit2000mnu.exe:3436
(TRA_4728, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

Statement 52546:
-------------------------------------------------------------------------------
select BS as K_BS,CONTRAGENT as K_CONTRAGENT,DOGUNIQ as K_DOGUNIQ,min(DAT) as DAT,max(PRIM) as PRIM,sum(RUB) as RUB,'RUR' as CRY,sum(OB.VAL) as VAL,sum(KOLVO) as KOLVO from OB where GOD=2016 and MES=08 AND DOGUNIQ=759584.0 group by BS,CONTRAGENT,DOGUNIQ order by BS NULLS LAST,CONTRAGENT NULLS LAST,DOGUNIQ NULLS LAST

1 records fetched
556 ms, 3891 read(s), 399160 fetch(es)

2016-08-17T11:53:59.6530 (13028:0000000000EFD9E8) EXECUTE_STATEMENT_FINISH
fin16 (ATT_255, *************:FINWRITER, WIN1251, TCPv4:***********)
C:\Users\****************\Infotech\B2K\Bin\Bit2000mnu.exe:3436
(TRA_4728, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

Statement 52547:
-------------------------------------------------------------------------------
select BS_D as K_BS,CONTRAGENT_D as K_CONTRAGENT,DOGUNIQ_D as K_DOGUNIQ,min(NP) as NP,min(DAT) as DAT,min(GEN) as MYREGND,min(REGDOC) as REGDOC,min(BS_K) as BS,sum(DB.VAL) as VAL,CRY,sum(RUB) as RUB,sum(KOLVO) as KOLVO,min(PRIM) as PRIM from DB where DAT between '08/01/2016' and '08/31/2016' AND DB.DOGUNIQ_D =759584.0 group by BS_D,CONTRAGENT_D,DOGUNIQ_D,CRY order by BS_D NULLS LAST,CONTRAGENT_D NULLS LAST,DOGUNIQ_D NULLS LAST,CRY

0 records fetched
161 ms, 693 read(s), 38299 fetch(es)

2016-08-17T11:53:59.8420 (13028:0000000000EFD9E8) EXECUTE_STATEMENT_FINISH
fin16 (ATT_255, **********:FINWRITER, WIN1251, TCPv4:**********)
C:\Users\***************\Infotech\B2K\Bin\Bit2000mnu.exe:3436
(TRA_4728, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE)

Statement 52548:
-------------------------------------------------------------------------------
select BS_K as K_BS,CONTRAGENT_K as K_CONTRAGENT,DOGUNIQ_K as K_DOGUNIQ,min(NP) as NP,min(DAT) as DAT,min(GEN) as MYREGND,min(REGDOC) as REGDOC,min(BS_D) as BS,sum(DB.VAL) as VAL,CRY,sum(RUB) as RUB,sum(KOLVO) as KOLVO,min(PRIM) as PRIM from DB where DAT between '08/01/2016' and '08/31/2016' AND DB.DOGUNIQ_K =759584.0 group by BS_K,CONTRAGENT_K,DOGUNIQ_K,CRY order by BS_K NULLS LAST,CONTRAGENT_K NULLS LAST,DOGUNIQ_K NULLS LAST,CRY

0 records fetched
174 ms, 693 read(s), 38299 fetch(es)

2016-08-17T11:54:02.3710 (3756:00000000028BD9E8) TRACE_FINI
SESSION_1 IBE_17.08.2016 11:53:15


2016-08-17T11:54:26.4670 (8844:00000000003DD9E8) TRACE_INIT
SESSION_1 IBE_17.08.2016 11:53:15



IBE> Trace session IBE_17.08.2016 11:53:15 terminated.
[/more]


Автор: chAlx
Дата сообщения: 17.08.2016 12:01
ptr73

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


Код: • Полный доступ ко всей информации, предоставляемой таблицами мониторинга,
имеют SYSDBA и владелец базы данных;
• Обычные пользователи ограничены информацией о собственных соединениях,
другие соединения невидимы для них.
Автор: ptr73
Дата сообщения: 17.08.2016 12:09
angeltwo, Спасибо! fbtrace работает, лог содержимого запросов делает, буду пользоваться пока им.

В IBExpert в New Trase Session расставлял галки по-разному, в sql q. incl. filter стоит
%(SELECT|INSERT|UPDATE|DELETE)%
но содержимое запросов почему-то не логирует
правда, я не понял, каким боком тут упоминается SECURITY2.FDB
[more]
одинаково и при fbclient.dll, и при gds32.dll:

IBE> Trace session "IBE_17.08.2016 15:58:32" started successfully...
IBE> Server: localhost
IBE> Client library: fbclient.dll
IBE> User: SYSDBA

Trace session ID 16 started
Error creating trace session for database "C:\PROGRAM FILES\FIREBIRD\FIREBIRD_2_5_6\SECURITY2.FDB":
error while parsing trace configuration
    line 11: error while compiling regular expression "C:\TEST.FDB"

2016-08-17T15:58:37.1690 (1392:023FB4B8) TRACE_INIT
    SESSION_16 IBE_17.08.2016 15:58:32
    

2016-08-17T15:58:37.1690 (1392:023FB4B8) ATTACH_DATABASE
    C:\TEST.FDB (ATT_19763, SYSDBA:NONE, WIN1251, XNET:DSGNLAB)
    C:\Test_Project.exe:7096

2016-08-17T15:58:38.9310 (1392:023FB4B8) START_TRANSACTION
    C:\TEST.FDB (ATT_19763, SYSDBA:NONE, WIN1251, XNET:DSGNLAB)
    C:\Test_Project.exe:7096
        (TRA_3954936, CONCURRENCY | WAIT | READ_WRITE)

2016-08-17T15:58:38.9710 (1392:023FDB30) TRACE_INIT
    SESSION_16 IBE_17.08.2016 15:58:32
    

2016-08-17T15:58:38.9710 (1392:023FDB30) ATTACH_DATABASE
    C:\TEST.FDB (ATT_19764, SYSDBA:NONE, WIN1251, XNET:DSGNLAB)
    C:\Test_Project.exe:7096

2016-08-17T15:58:39.1810 (1392:023FDB30) START_TRANSACTION
    C:\TEST.FDB (ATT_19764, SYSDBA:NONE, WIN1251, XNET:DSGNLAB)
    C:\Test_Project.exe:7096
        (TRA_3954938, CONCURRENCY | WAIT | READ_WRITE)

2016-08-17T15:58:45.5510 (1392:023F9300) TRACE_INIT
    SESSION_16 IBE_17.08.2016 15:58:32
    

2016-08-17T15:58:45.5510 (1392:023F9300) START_TRANSACTION
    C:\TEST.FDB (ATT_0, <unknown_user>, NONE, <internal>)
        (TRA_3954959, READ_COMMITTED | REC_VERSION | WAIT | READ_ONLY)

2016-08-17T15:59:01.4940 (1392:023F9300) COMMIT_TRANSACTION
    C:\TEST.FDB (ATT_0, <unknown_user>, NONE, <internal>)
        (TRA_3954959, READ_COMMITTED | REC_VERSION | WAIT | READ_ONLY)
0 ms

2016-08-17T15:59:01.4940 (1392:023F9300) TRACE_FINI
    SESSION_16 IBE_17.08.2016 15:58:32
[/more]    

chAlx, все запросы и мониторинг идут из под SYSDBA, собственно, других пользователей и нет.





Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.