Распределенные системы: технология Borland Midas. Часть 3. Фертиков В.В. - 19 стр.

UptoLike

Составители: 

19
лось пустым, это значит, что сервер приложений не найден (т.е. он либо не за-
регистрирован в реестре, либо к компьютеру нет доступа). Окончательно убе-
диться в доступности сервера клиенту можно, установив свойство Connected
компонента связи: сервер приложений при этом должен запуститься и показать
наличие у себя одного присоединенного клиента (в данном случае этим клиен-
том является среда разработки).
Далее согласно общей схеме, необходимо компоненту TClientDataSet
указать компонент связи, который он будет использовать (свойство Remote-
Server), после чего появиться возможность задать имя удаленного провайдера,
экспортируемого запущенным сервером приложений (свойство ProviderName
мы устанавливаем , выбирая из выпадающего списка значение DataSet-
Provider1). Связь между клиентским и удаленным наборами данных обеспе-
чена. Теперь компонент TDataSource свяжем с набором данных (свойство
DataSet), а все визуальные компоненты (в нашем приложении их два:
TDBGrid и TDBNavigator), в свою очередь, с компонентом TDataSource
(свойства DataSource визуальных компонентов ).
Помимо средств отображения данных на форме разрабатываемый клиент
будет генерировать SQL-запрос на выборку этих данных, и передавать этот за-
прос в виде команды на выполнение серверу приложений . В простейшем слу-
чае код , исполняющий эти действия, можно поместить в обработчик события
нажатия кнопки на форме:
procedure TForm1.Button1Click(Sender: TObject);
begin
with ClientDataSet1 do begin
CommandText := 'SELECT * FROM COUNTRY';
Open
end
end;
Здесь COUNTRY одна из таблиц демонстрационной базы данных
DBDEMOS, на доступ к которой мы настроили наш сервер приложений . В среде
C++Builder этот фрагмент выглядит следующим образом:
void __fastcall TForm1::Button1Click(TObject *Sender)
{ ClientDataSet1->CommandText = "SELECT * FROM COUNTRY";
ClientDataSet1->Open();
}
Теперь можно запустить и протестировать клиентское приложение. Обра-
тите внимание: показания счетчика соединений на форме сервера приложений
должны измениться, так как теперь у сервера приложений два клиента среда
разработки и запущенное клиентское приложение (см . рисунок ниже).
                                     19
лось пустым, это значит, что сервер приложений не найден (т.е. он либо не за-
регистрирован в реестре, либо к компьютеру нет доступа). Окончательно убе-
диться в доступности сервера клиенту можно, установив свойство Connected
компонента связи: сервер приложений при этом должен запуститься и показать
наличие у себя одного присоединенного клиента (в данном случае этим клиен-
том является среда разработки).
      Далее согласно общей схеме, необходимо компоненту TClientDataSet
указать компонент связи, который он будет использовать (свойство Remote-
Server ), после чего появиться возможность задать имя удаленного провайдера,
экспортируемого запущенным сервером приложений (свойство ProviderName
мы устанавливаем, выбирая из выпадающего списка значение DataSet-
Provider1 ). Связь между клиентским и удаленным наборами данных обеспе-
чена. Теперь компонент TDataSource свяжем с набором данных (свойство
DataSet ), а все визуальные компоненты (в нашем приложении их два:
TDBGrid и TDBNavigator ), в свою очередь, с компонентом TDataSource
(свойства DataSource визуальных компонентов).
      Помимо средств отображения данных на форме разрабатываемый клиент
будет генерировать SQL-запрос на выборку этих данных, и передавать этот за-
прос в виде команды на выполнение серверу приложений. В простейшем слу-
чае код, исполняющий эти действия, можно поместить в обработчик события
нажатия кнопки на форме:

procedure TForm1.Button1Click(Sender: TObject);
begin
  with ClientDataSet1 do begin
     CommandText := 'SELECT * FROM COUNTRY';
     Open
  end
end;

     Здесь COUNTRY – одна из таблиц демонстрационной базы данных
DBDEMOS, на доступ к которой мы настроили наш сервер приложений. В среде
C++Builder этот фрагмент выглядит следующим образом:

void __fastcall TForm1::Button1Click(TObject *Sender)
{   ClientDataSet1->CommandText = "SELECT * FROM COUNTRY";
    ClientDataSet1->Open();
}

      Теперь можно запустить и протестировать клиентское приложение. Обра-
тите внимание: показания счетчика соединений на форме сервера приложений
должны измениться, так как теперь у сервера приложений два клиента – среда
разработки и запущенное клиентское приложение (см. рисунок ниже).