stdcall;
begin
if Assigned(Forml.TraceList) then Forml.TraceList.Add(pChar(CBinfo));
end;
procedure TForml.MyConnectionBeforeConnect(Sender: TObject) ;
begin
TraceList := TStringList.Create;
end;
procedure TForml.MyConnectionAfterDisconnect(Sender: TObject) ;
begin
if Assigned(TraceList) then begin
TraceList.SaveToFile('с:\Temp\TraceInfо.txt');
TraceList.Free;
end;
end;
procedure TForml.StartBtnClick(Sender: TObject);
begin
MyConnection.SetTraceCallbackEvent(GetTracelnfo, 8) ;
MyConnection.Open;
MyConnection.Close;
end;
Перед открытием соединения в методе-обработчике BeforeConnection создается объект типа TStringList. После закрытия соединения этот объект сохраняется в файле и уничтожается.
Перед открытием соединения (метод-обработчик нажатия кнопки Start) при помощи метода SetTraceCallbackEvent с соединением связывается функция
GetTracelnfо.
Таким образом, по мере прохождения команд информация о них будет накапливаться в списке. После закрытия соединения список сохраняется в текстовом файле.
С Примечание ^
В своей работе компонент TSQLMonitor также использует вызовы метода SetTraceCaiibackEvent. Поэтому одновременно применять компонент и собственные функции нельзя.
Распространение приложений стехнологиейсШЕхргеээ
Готовое приложение, использующее технологию dbExpress, можно поставлять заказчикам двумя способами.
Вместе с приложением поставляется динамическая библиотека для выбранного сервера (см. колонку "Драйвер" табл. 17.1). Она находится в папке \Delphi7\Bin.
Дополнительно, если в приложении используется компонент TSimpieDataSet, необходимо включить в поставку динамическую библиотеку Midas.dll.
Приложение компилируется вместе со следующими DCU-файлами: dbExpInt.dcu, dbExpOra.dcu, dbExpDb2.dcu, dbExpMy.dcu (в зависимости от выбранного сервера). Если в приложении используется компонент TSimpieDataSet, следует добавить файлы Crtl.dcu и MidasLib.dcu. В результате необходимо поставлять только исполняемый файл приложения.
Если дополнительная настройка соединений не требуется, файл dbxconnections.ini не нужен.
Резюме
Технология dbExpress предназначена для создания приложений, требующих быстрого доступа к базам данных, хранящимся на серверах SQL. Доступ осуществляется при помощи небольших драйверов, реализованных в виде динамических библиотек. В настоящее время созданы драйверы для четырех серверов баз данных. Это:
• DB2;
□ InterBase;
• MySQL;
□ Oracle.
Технология dbExpress реализована на основе использования стандартных типов компонентов доступа к данным, проста при распространении (исполняемый файл приложения или одна-две динамические библиотеки). Поддерживает кроссплатформенную разработку для Linux и легко интегрируется в приложения CLX.
К недостаткам технологии нужно отнести использование однонаправленных курсоров и офаниченные возможности по редактированию (редактирование возможно только при кэшировании изменений на клиенте или выполнением специальных модифицирующих запросов).
ГЛАВА 18
Сервер баз данных InterBase и компоненты InterBase Express