Программа SQL Monitor


Программа SQL Monitor представляет собой инструмент, позволяющий отсле­живать выполнение SQL-запросов к удаленным БД. Для запуска программы нужно выбрать команду Database/SQL Monitorили запустить файл sqlmon.exe, находящийся в каталоге BIN главного каталога Delphi. Программу также можно вызвать через главное меню Windows — командой Programs/Borland Delphi 6/ SQL Monitor.

Программа SQL Monitor отслеживает операции доступа к удаленным БД с по-мошыо драйверов SQL Links. Поэтому для локальных БД применять эту про­грамму бесполезно, даже если используются средства языка SQL. Это связано с тем, что для локальных БД применяются локальные драйверы.

Замечание

Если в приложении использованы компоненты страницы InterBaseПалитры компонентов, например, набор данных iBQuery, то доступ к БД выполняется напрямую через BDE без использования драйвера SQL-Links. В этом случае контроль выполнения SQL-запросов к БД InterBase с помощью программы SQL Monitor невозможен.

 

После запуска Монитор автоматически отслеживает порядок выполнения SQL-запросов (выполняет трассировку операторов), ведя журнал работы с удаленной БД. Монитор отслеживает запросы для указанного в команде Clientsклиента, при отладке Delphi-приложения таким клиентом является Delphi 7. Строки журнала выводятся в верхней части окна программы (рис. 10.18). В нижней час­ти окна отображается строка.

Рис. 10.18. Окно программы SQL Monitor

 

Для сохранения журнала в текстовом файле нужно выполнить команду File/Save Log...и указать имя файла, для очистки журнала — команду Edit/Clear,для ко­пирования его содержимого в буфер — команду Edit/Copy.

Параметры Монитора устанавливаются в окне параметров трассировки Trace Options(рис. 10.19), вызываемом командой Options/ Trace Options....

Рис. 10.19. Окно установки параметров трассировки

 

С помощью параметров Монитора можно регулировать степень детальности информа­ции, заносимой в журнал. Монитор имеет следующие параметры:

Prepared Query Statements— подготовлен­ные запросы, передаваемые на сервер;

Executed Query Statements— выполненные на сервере запросы;

Input Parameters— входные параметры — данные, передаваемые на сервер в качестве параметров запросов;

Fetched Data— данные, возвращаемые сервером;

Statement Operations— операции с запросами (allocate, prepare, execute и fetch);

Connect/Disconnect— операции соединения с сервером и отключения от него;

Transactions— операции управления транзакциями;

Blob I/O— ввод-вывод данных типа blob;

Miscellaneous— остальные операции;

Vendor Errors— сообщения об ошибках, возвращаемые сервером;

Vendor Calls— вызовы API-функций сервера.

По умолчанию включены все параметры, и отслеживание выполнения запроса осуществляется максимально подробно. При этом даже простой запрос приво­дит к появлению в журнале значительного числа строк. Например, после вы­полнения запроса на отбор записей

SELECT * FROM ti

в журнал будет занесено 26 строк, что не облегчает, а скорее затрудняет провер­ку выполнения запроса. Поэтому в данном случае можно ограничиться только следующими параметрами:

Prepared Query Statements

Executed Query Statements

Transactions

Тогда после выполнения приведенного запроса в журнал будут занесены такие данные:

1 01:10:47 SQL Prepare: INTRBASE - SELECT I FROM ti

2 01:10:47 SQL Transact: INTRBASE - XACT (UNKNOWN)

3 01:10:47 SQL Execute: INTRBASE - SELECT I FROM ti

4 01:10:47 SQL Transact: INTRBASE - XACT Commit

 

Монитор можно разместить поверх всех окон, вызвав команду Options/Always on Top.