Вся документация на русском вроде здесь https://ibase.ru/develop/
» InterBase и FireBird: вопросы по работе и их решение
zealotfan
Спасибо. А кто тестировал на боевой базе?
Спасибо. А кто тестировал на боевой базе?
tanaseduard
Я сразу перешёл на firebird 3.0 как только он вышел. Поставил SuperClassic конфигурацию. Проблем вроде нет. Заниматься замерами скорости пока времени нет
Я сразу перешёл на firebird 3.0 как только он вышел. Поставил SuperClassic конфигурацию. Проблем вроде нет. Заниматься замерами скорости пока времени нет
А кто-то использует еще компоненты FibPlus ? как они дружат с firebird 3.0 ?
Shaman2 использую. Когда то покупал. Потом варезные стал пользовать. Сейчас ищу альтернативу. Смысла переводить новые проекта на этой библиотеке сейчас нет. Загнулись они, как мне кажется. FireDac не хуже по скорости. Чуть менее удобно может, но точно будет поддерживать (или вероятно уже). Да и старые версии скорее всего будут работать - в клиентской dll ведь нет никаких парсеров - только транспорт.
Я всегда использовал стандартные IBX компоненты в приложениях. С переходом на firebird 3.0 пришлось менять во всех TIBQuery поля, где есть подзапрос типа (select count(*) from table) т.к. раньше результатом становилось поле типа integer теперь результатом является тип LargeInt. И в IBX у меня так и не получилось сделать запрос с execute block
Цитата:
Shaman2 использую. Когда то покупал. Потом варезные стал пользовать. Сейчас ищу альтернативу. Смысла переводить новые проекта на этой библиотеке сейчас нет. Загнулись они, как мне кажется. FireDac не хуже по скорости. Чуть менее удобно может, но точно будет поддерживать (или вероятно уже). Да и старые версии скорее всего будут работать - в клиентской dll ведь нет никаких парсеров - только транспорт.
У меня пару больших проектов которые переводить с плюсов на что-то еще очень затратно. А перейти на FB хочется. Но вот как с совместимостью, в новом ФБ добавлены булевые поля и т.п.
Shaman2 Старые проекты на то и старые , что новых фишек там не нужно. Посмотри на сайт devrace - новости от 2013 года. Крайняя официальная версия под XE5. На форумах ни одного ответа от разработчиков. Считай сдохла библиотека. Я бы не стал на неё рассчитывать. Тем более под новый сервер с новыми фичами.
Цитата:
Shaman2 Старые проекты на то и старые , что новых фишек там не нужно. Посмотри на сайт devrace - новости от 2013 года. Крайняя официальная версия под XE5. На форумах ни одного ответа от разработчиков. Считай сдохла библиотека. Я бы не стал на неё рассчитывать. Тем более под новый сервер с новыми фичами.
У меня один проект с 2001 года, второй с 2005. Оба понемножку развиваются по сей день, но переписывать их полностью под другую библиотеку... подумываю периодически о FireDAC, но как то не готов
Shaman2 у FIB проблемы возникают не только со стороны сервера. Моя версия сейчас не хочет дружить со свежими EhLib - sql фильтрация почему то не работает, только локальная. Сортировка по гриду тоже с танцами запустилась. Причину не могу найти, но способ решения нашел - замена грида на такой же в дизайне. С другими компонентами доступа (программа работает с Oracle и Firebird серверами) - например DOA таких проблем нет. Склоняюсь к переписыванию.
Кто в своих базах данных использует представления(VIEW)? Интересует в каких случаях рекомендуется их использовать.
zealotfan:
Не буду расписывать стандартные случаи, типа вьюхи с конвертированием типов полей (timestamp->date) и последующей группировкой при выборке из этой вьюхи.
Раз вопрос в этом топике, приведу простой пример: делаешь вьюху только с нужными полями и условиями, даёшь на неё права доступа соответствующей роли (или юзеру). В результате юзер не может обратиться напрямую к таблицам и получить лишнее.
Не буду расписывать стандартные случаи, типа вьюхи с конвертированием типов полей (timestamp->date) и последующей группировкой при выборке из этой вьюхи.
Раз вопрос в этом топике, приведу простой пример: делаешь вьюху только с нужными полями и условиями, даёшь на неё права доступа соответствующей роли (или юзеру). В результате юзер не может обратиться напрямую к таблицам и получить лишнее.
Цитата:
Кто в своих базах данных использует представления(VIEW)? Интересует в каких случаях рекомендуется их использовать.
Удобство
ограничение доступа к таблицам
может еще что-то
Если не возникало надобности, то и не используйте.
chAlx
jonikDk
Теперь всё понял. Спасибо за доходчивые ответы. В моём случае в использовании нет необходимости.
jonikDk
Теперь всё понял. Спасибо за доходчивые ответы. В моём случае в использовании нет необходимости.
может у кого есть Migration Guide to Firebird 3 ?
Подскажите, как посмотреть запросы, которые идут к базе?
Можно где достать FBScanner или чем его заменить?
Триал HQBird скачать не могу, форма на сайте не обрабатывается.
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert.
Запустил Trace and audit в IBExpert, но там просто активность без содержания запросов.
Можно где достать FBScanner или чем его заменить?
Триал HQBird скачать не могу, форма на сайте не обрабатывается.
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert.
Запустил Trace and audit в IBExpert, но там просто активность без содержания запросов.
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>
Посмотреть запросы можно, настроив 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>
angeltwo, спасибо, пробую fbtrace.
А можете поделиться триалом HQBird?
Я уже с разных компов и браузеров пытался скачать - на кнопке Submit никакой реакции.
А можете поделиться триалом HQBird?
Я уже с разных компов и браузеров пытался скачать - на кнопке Submit никакой реакции.
Цитата:
Запустил 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]
ptr73
Цитата:
Код: • Полный доступ ко всей информации, предоставляемой таблицами мониторинга,
имеют SYSDBA и владелец базы данных;
• Обычные пользователи ограничены информацией о собственных соединениях,
другие соединения невидимы для них.
Цитата:
Мониторинг в IBExpert не показывает сторонние запросы, только непосредственно от самого IBExpert
Код: • Полный доступ ко всей информации, предоставляемой таблицами мониторинга,
имеют SYSDBA и владелец базы данных;
• Обычные пользователи ограничены информацией о собственных соединениях,
другие соединения невидимы для них.
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, собственно, других пользователей и нет.
В 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, истории становления российского интернета. Сделано для людей.