Программа 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.