用Delphi 3开发MIDAS应用程序
王发军
在Borland的MIDAS(Multi-tier
Distributed Application Services Site)概念中,典型的数据库应用系统由三层结构组成。
下面以一个三层数据库应用系统为例,介绍如何用Delphi 3开发MIDAS应用程序,以建立一个“瘦”客户端应用系统。
一、建立一个MIDAS服务器程序(Delphi 3.0 C/S)
建立一个MIDAS服务器程序,简单来说,就是为客户端的TClientDataSet建立一个Remote
Dataset。
1.建立一个新的应用程序(Application)。
2.增加一个Remote DataModule。
File→New→Remote DataModule,设置其ClassName(如rdmTest),设置其Instancing为Multiple
instance(缺省值)。
3.在Remote DataModule上,增加一个queryTest(TQuery)和providerTest(TProvider),并且设置providerTest的属性Dataset使providerTest.Dataset
:= queryTest。
4.鼠标右击providerTest,选择“Export providerTest from datamodule”,Delphi将自动产生一个函数Get—providerTest,使客户端机器可以访问providerTest。
5.指定providerTest的OnDataRequest事件,处理客户端的数据请求。
{ 假设客户端发送的请求为一个SQL查询语句,则将查询结果返回给客户端
}
function
TrmdTest.providerTestDataRequest(Sender: TObject; Input: OleVariant): OleVariant;
begin
with queryTest do
begin
close;
DatabaseName := ExtractFilePath( Application.ExeName );
sql.text := input;
//客户端发送的请求为一个SQL查询语句
open;
end;
result := providerTest.data;//返回结果
end;
6.保存文件,编译并运行该MIDAS服务器程序来注册该MIDAS服务器程序。
7.服务器应用程序时转移到另一台机器上时,应在新服务器上运行一次以重新注册,同时修改客户端设置。
二、建立一个MIDAS客户端程序(Delphi 3.0 C/S)
建立一个MIDAS客户端程序,简单来说,客户端用TClientDataSet通过TRemoteServer向MIDAS服务器程序请求数据。
1.建立一个新的应用程序(Application)。
2.增加一个窗体(TForm),如formClientTest。
3.指定服务端的MIDAS服务器程序。在formClientTest上,增加一个TRemoteServer如RemoteServerTest,并且在其ServerName属性的下拉选择表中选择rmdTest,即RemoteServerTest.ServerName
:= rmdTest。如果rmdTest不在本计算机上,则还要首先指定属性ComputerName。
4.增加客户端数据集TClientDataSet。在formClientTest上,增加一个TClientDataSet如ClientDataSetTest,并且设置其RemoteServer属性使ClientDataSetTest.RemoteServer
:= RemoteServerTest,然后设置其ProviderName属性使ClientDataSetTest.ProviderName
:= providerTest。
5.在formClientTest上,增加一个DataSourceTest(TDataSource)和一个DBGridTest(TDBGrid),其中DataSourceTest的Dataset属性值为ClientDataSetTest,DBGridTest的DataSource属性值为DataSourceTest。
6.用TClientDataSet向MIDAS服务器程序请求数据。
procedure TformClientTest.Button1Click(Sender: TObject);
begin
RemoteServerTest.connected := true;
//连接MIDAS服务器程序发送一个SQL查询语句
ClientDataSetTest.Data :=
ClientDataSetTest.Provider.DataRequest( ′select * from items′);
ClientDataSetTest.open;//获取数据
end;
7.编译并运行该MIDAS客户端程序。当MIDAS客户端程序开始运行时,MIDAS服务器端程序将随客户端程序开始运行。
8.分发客户端应用程序时,除了自己的程序和数据外,同时只需要分发DBClient.dll文件即可,它用来与MIDAS服务器建立连接。
以上程序在PWIN 98+Delphi 3.0下调试通过。