powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Мониторинг доступности БД
49 сообщений из 49, показаны все 2 страниц
Мониторинг доступности БД
    #39275338
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Поставили такую задачу - мониторить доступность БД и на основании мониторинга выдавать отчет о недоступности БД, этот отчет будет связан с другими отчетами по работе процессов программы (всякие импорты, автопроведения документов, автоматическая печать документов и прочее). Как лучше реализовать?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275339
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

По идее доступность БД определяется возможностью коннекта.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275362
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> Как лучше реализовать?

В каком-то из продуктов ибсургеона это есть.
Ну или самому налабать за 5 минут утилиту,
которая будет держать коннект в течение
нужного промежутка времени, проверять
запросом каждые 10 секунд и сигналить,
если БД/сервер отвалятся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275528
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

http://ib-aid.com/en/ibsurgeon-free-tools/
response checker.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275536
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,спасибо, но кроме FB попросили аналогично мониторить весь БД зоопарк
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275537
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

для остального зоопарка должны быть другие решения
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275538
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarкроме FB попросили аналогично мониторить весь БД зоопарк

Google Firebird nagios plugin
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39275548
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarkdv,спасибо, но кроме FB попросили аналогично мониторить весь БД зоопарк
Nagios.
Можно еще Zabbix или Cacti. Но лично я - за Nagios (просто использую его уже кучу лет). Плагин или ищется в гугле или за сравнимое время пишется на python/perl/shell.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311190
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернулся к этому вопросу. Пока проверяю доступность базы таким образом - каждую минуту Планировщиком Windows запускается батник с выполнением скрипта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
connect 'srv-250:D:\Monitoring\FB_log_database.fdb' user 'SYSDBA' password 'masterkey';
execute block
as
declare variable T_avail integer;
begin for execute statement('select 1 from rdb$database')
on external 'srv-250:Supermagdk.fdb'
          with autonomous transaction
          as user 'bujhm' password 'va7953am'
          into :T_avail
 
do 
begin 
insert into DATABASE_AVAILABILITY (avail,time_write)
    values (:T_avail,current_timestamp);
  end
end;
commit;

потом в системе отчетов смотрю сколько было записей за сутки и считаю 60*24 - count(id) - получаю время,когда база недоступна.
Насколько правдивым будет такой отчет?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311193
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

ИХМО, гораздо интереснее не моменты когда сервак был доступен, а наоборот, когда был не доступен.

З.Ы. Автономка там ни к чему
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311205
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,
ИХМО, гораздо интереснее не моменты когда сервак был доступен, а наоборот, когда был не доступен.
Ты прав. Но с этим не получилось - написал програмку,чтобы раз в минут делала реконнект к БД и в случае неудачи делала соответствующую запись, но данные оказались некорректные,т.к. подключение в случае проблем просто висело долго по времени и в итоге не фиксировалось,что БД в ауте. Может я что-то не понимаю,если можешь подскажи.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311227
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarНо с этим не получилось - написал програмку,чтобы раз в минут делала реконнект к БД и в случае неудачи делала соответствующую запись, но данные оказались некорректные,т.к. подключение в случае проблем просто висело долго по времени и в итоге не фиксировалось,что БД в ауте.
Напиши многопоточную программу. Минуту нет коннекта - шлепаешь поток и фиксируешь факт в базе.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311259
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarподключение в случае проблем просто висело долго по времени и в итоге не фиксировалось,что БД в ауте.

гм, что? :-)

даже если есть таймаут, а потом ошибка, это все равно ошибка, и вполне резонно, зная время начала последней попытки записать, что вот в такое-то время база была не рабочая.
То есть, если приложение тыкает в базу 1 раз в минуту, то отсутствие записи от "тыке" в очередную минуту - свидетельство проблем.

Надо фиксировать не только "неудачу", а в первую очередь "удачу". А по отсутствии удач, смотреть, что же за неудача произошла.
Например, в IBTM сразу видно, что отсчеты по какой-то причине не велись, и значит, либо не было доступа к серваку, либо база была недоступна, и т.д. А что именно происходило - видно в логе ошибок.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311272
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, почему не использовать keepalive и стандартный метод отлова потери соединения через WSAEVENT?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SOCKET tcpSocket;
...
tcp_keepalive optsKeepAlive;
optsKeepAlive.onoff = 0x0ffff;  // true
optsKeepAlive.keepalivetime = msecKeepAliveTime;
optsKeepAlive.keepaliveinterval = msecKeepAliveInterval;
::setsockopt(tcpSocket, SOL_SOCKET, SO_KEEPALIVE,  (char*)&optsKeepAlive.onoff, sizeof(optsKeepAlive.onoff));
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311279
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл в продолжение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if(::WSAIoctl(tcpSocket, SIO_KEEPALIVE_VALS,
              &optsKeepAlive, sizeof(optsKeepAlive), NULL, 0,
              &cntBytesReturned, NULL, NULL))
{
  ::closesocket(tcpSocket);
  WSACloseEvent(evnts);
  exit(1);
}
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311391
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devGallemar, почему не использовать keepalive и стандартный метод отлова потери соединения через WSAEVENT?
потому что нормальный робот НЕ ДОЛЖЕН держать постоянное соединение с БД для проверки ее доступности. Он должен коннектиться к ней через регулярные интервалы времени. Коннект-дисконнект, и т.д.

Есть разные глюки, один из глюков (ФБ или системы) может быть "работа существующих соединений и невозможность новых соединений". В этом случае БД (и сервер) считаются НЕДОСТУПНЫМИ.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311415
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы хотел добавить к постам kdv, что если надо чтобы в БД записывалась информация о том что БД недоступна с ошибкой, а не только инфа о том что доступна, то мониторить её надо с другого компьютера и в БД на другом сервере. Иначе с высокой вероятностью недоступной будет и БД лога.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311427
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 19 сентября 2016 г. 17:23:33:

Симонов ДенисИначе с высокой вероятностью недоступной будет и БД лога.
логам не место в БД.
для лога абсурден ROLLBACK, INSERT, UPDATE, DELETE.
только APPEND.
в плоский файл.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311466
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

я не спорю. Но в этом случае если потребуется анализ, то этот файл лога надо импортировать в БД, что в прочем не сложно
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311472
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, ты прав,зема. Только я специально перевел логи в отдельную бд,для статистики удобнее.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39311474
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 19 сентября 2016 г. 18:56:13:

Симонов Денис> если потребуется анализ, то этот файл лога надо импортировать в БД, что в прочем не сложно
все новомодные Big Data выросли именно из этого
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39312316
GallemarДобрый день
Поставили такую задачу - мониторить доступность БД и на основании мониторинга выдавать отчет о недоступности БД, этот отчет будет связан с другими отчетами по работе процессов программы (всякие импорты, автопроведения документов, автоматическая печать документов и прочее). Как лучше реализовать?Пробуй батник из аттача (делал его когда-то давно для 2.5.х).
Требуется добавить куда-нить в PATH-список утилиту psList из пакета SysInternals.

Пример вывода на консоль:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
20.09.2016 22:45:00.79... Success.
20.09.2016 22:45:03.88... Success.
20.09.2016 22:45:06.98... Success.
20.09.2016 22:45:10.07... Hanged ISQL detected.
20.09.2016 22:45:13.16... Hanged ISQL detected.
20.09.2016 22:45:16.27... Success.
20.09.2016 22:45:19.38... Success.
20.09.2016 22:45:22.49... Success.
20.09.2016 22:45:25.58... ERROR while ISQL worked with database.
20.09.2016 22:45:28.68... ERROR while ISQL worked with database.
20.09.2016 22:45:31.77... ERROR while ISQL worked with database.
20.09.2016 22:45:34.87... ERROR while ISQL worked with database.
20.09.2016 22:45:37.96... Success.
20.09.2016 22:45:41.05... Success.


Пример лога, в котором регистрируются моменты времени ДОСТУПНОСТИ базы:
Код: plaintext
1.
2.
3.
4.
                                2016-09-20 22:26:39.0740

                                2016-09-20 22:26:52.7460

                                2016-09-20 22:27:19.4490


Аналогичный лог для случаев, когда либо ISQL не может приаттачиться к базе (или завершить соединение), либо база недоступна:
Код: plaintext
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.
20.09.2016 22:27:02.10 Hanged ISQL detected.
-----
isql                820   8   1   30  11952     0:00:00.031     0:00:03.921
-----

20.09.2016 22:27:07.71 Hanged ISQL detected.
-----
isql                820   8   1   30  11952     0:00:00.031     0:00:09.546
-----

22:27:34.96 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----

22:27:39.69 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----

20.09.2016 22:45:13.16 Hanged ISQL detected.
-----
isql               1932   8   1   30  11952     0:00:00.046     0:00:01.812
-----

20.09.2016 22:45:16.27 Hanged ISQL detected.
-----
isql               1932   8   1   30  11952     0:00:00.046     0:00:04.906
-----

22:45:28.68 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----

22:45:31.77 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----

22:45:34.87 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----

22:45:37.96 ERROR while ISQL worked with database.
-----
Statement failed, SQLSTATE = HY000
database e40 shutdown
After line 0 in file check-avail-db_tmp.sql
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
-----
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39312321
Пардон, забыл добавить: еще нужна также утилита 'pskill' для срубания зависшего isql'я.
Батник с проверкой на её наличие (и вызовом при необходимости) - см новый аттач.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39312344
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,Паша. Куда пропал? Я тебе звонил летом пару раз.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39312431
Да тута я, тута... Дел много просто, на форум редко захожу.
А летом, когда ты звонил, я в отпуске был. Помочь бы всё равно не смог, только бабло за роуминг заплатил бы...
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39312847
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вано Сусанидзе,

начиная с Висты вместo PsTools можно использовать штатную утилиту taskkill
по крайней мере, если процесс надо убивать на лкальной машине ,а не на удалённой
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39313130
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А FIB дает информацию о времени выполнения запроса или надо через AfterExecute и BeforeExecute замерять время?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315494
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как лучше получить время выполнения запроса?
Написал вот такой код, но результаты меня смущаюсь, часто получаю 0:
Код: pascal
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.
procedure TForm1.FormCreate(Sender: TObject);
var
  f: TStrings;

begin
f:=TstringList.Create();
f.LoadFromFile('c:\Temp\db.txt');
pFIBDatabase1.DBName := f.Strings[0];
pFIBDatabase2.DBName := f.Strings[1];
pFIBDatabase1.Connected := True;
pFIBDatabase2.Connected := True;
pFIBDatabase1.DefaultTransaction:=pFIBTransaction1;
pFIBDatabase2.DefaultUpdateTransaction:=pFIBTransaction2;
pFIBTransaction1.DefaultDatabase:= pFIBDatabase1;
pFIBTransaction2.DefaultDatabase:= pFIBDatabase2;


//Application.Terminate;
//exit;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
    t1:TDateTime;
  t2:TDateTime;
  s:String;
begin
pFIBTransaction1.Active := True;
pFIBTransaction2.Active := True;
pFIBQuery1.Database:=  pFIBDatabase1;
pFIBQuery2.Database:=  pFIBDatabase2;
pFIBQuery1.Transaction:= pFIBTransaction1;
pFIBQuery2.Transaction:= pFIBTransaction2;
t1:= now;
pFIBQuery1.ExecQuery;
t2:= now;
DateTimeToString(s, 'hh:nn:ss.zzz', t2-t1);
pFIBQuery2.ParamByName('t1').AsTime := t1;
pFIBQuery2.ParamByName('t2').AsTime := t2;
pFIBQuery2.ParamByName('s').AsString := s;
pFIBQuery2.ExecQuery;
//pFIBDatabase1.Connected := False;
//pFIBDatabase2.Connected := False;
label1.Caption := 'Выполнено!';
end;

end.



Запрос select * from rdb$database
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315517
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

выполнение exec отложено до первого fetch.
Т.е. делай фетч и результаты станут отличаться от нуля.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315541
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladвыполнение exec отложено до первого fetch.
где?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315547
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvhvladвыполнение exec отложено до первого fetch.
где?FB 2.1 и выше, где же ещё :)
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315598
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemar,

выполнение exec отложено до первого fetch.
Т.е. делай фетч и результаты станут отличаться от нуля.
А если я не работаю с набором данных и запрос вхолостую выполняется?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315602
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladFB 2.1 и выше, где же ещё :)
Так теперь ошибки типа "неверные входные параметры" могут посыпаться с фетча?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315608
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarhvladGallemar,

выполнение exec отложено до первого fetch.
Т.е. делай фетч и результаты станут отличаться от нуля.
А если я не работаю с набором данных и запрос вхолостую выполняется?Зачем тогда делать запрос, возвращающий данные ?
Далее, с чего ты взял, что exec без fetch вообще что-то выполняет? :)
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39315609
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я уже говорил, что тебя нет ?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316158
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarпропущено...

А если я не работаю с набором данных и запрос вхолостую выполняется?Зачем тогда делать запрос, возвращающий данные ?
Далее, с чего ты взял, что exec без fetch вообще что-то выполняет? :)
А если GoToFirstRecordOnExecute:= True ?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316302
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему то при
Код: pascal
1.
2.
3.
4.
t1:= now;
pFIBQuery1.ExecQuery;
pFIBQuery1.Next;
pFIBQuery1.Close;


получаю
Can't fetch record because Form1.pFIBQuery1 dataset closed

ЧЯНД?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316312
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

может потому что Open надо
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316328
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarполучаю "Can't fetch record because Form1.pFIBQuery1 dataset closed"
ЧЯНД?Да вроде всё норм, если в pFIBQuery1 правильно задан SQL запрос, задан объект подключения к БД, транзакция и транзакция стартовала на момент ExecQuery(). Может ты для pFIBQuery1 задал опцию qoAutoCommit?
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316340
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

object pFIBQuery1: TpFIBQuery
SQL.Strings = (
'select * from table_6')
CSMonitorSupport.Enabled = csmeTransactionDriven
Left = 40
Top = 144
qoAutoCommit = True
end
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316344
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, ну так и чего же ты хочешь? У тебя запрос подтверждает транзакцию сразу после своего успешного завершения. Поставь qoAutoCommit = False и затем подтверждай транзакцию "вручную", через pFIBQuery1.Transaction.Commit()
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316347
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM:
"qoAutoCommit – если включено, то сразу же после выполнения запроса
транзакция, в рамках которой он был выполнен, будет завершена методом Commit.
Внимание, если запрос селективный, то он тоже будет сразу же закрыт, и вы не
сможете получить доступ к следующим записям."
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316399
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

не помогло, всё равно время 0
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316728
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, работа с TDateTime к фетчу из TFIBQuery не относится. :) Ты уверен, что Now() способен вернуть миллисекунды в TDateTime? Попробуй использовать TFIBSQLMonitor.

"TFIBSQLMonitor
Этот объект позволяет осуществить мониторинг всех действий с БД, которые производит
приложение, использующее FIBPlus."
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316731
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devNow() способен вернуть миллисекунды в TDateTime
Он могёт.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316740
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, проще всего воспользоваться read-only свойством TFIBQuery:

"property CallTime :Cardinal;
Возвращает количество времени в тиках, за которое выполнился запрос. (Время фетча сюда
не входит)"


Судя по описанию функции GetTicksCount(), в свойстве CallTime должно быть количество миллисекунд, а не тиков таймера или процессора.
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316755
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,хм. А это какая версия фибов? У меня такого свойства нет (6.4)
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316793
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, у меня FIBPlus версии 6.9.5
...
Рейтинг: 0 / 0
Мониторинг доступности БД
    #39316795
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, тогда попробуй GetTicksCount() из юнита IdGlobal
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Мониторинг доступности БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]