高手们什么是三层数据库!!

解决方案 »

  1.   

    多层结构是因网络发展的需要而出现的产物,运用面向对象技术,分离用户界面和企业逻辑,解决了两层结构的维护成本高,客户端臃肿等弊端,且改善了延展性。在Delphi中采用MIDAS技术,运用COM/DCOM/COM+或CORBA标准,为多层结构的开发提供了强大功能,增加了开发人员的生产力。
    用MIDAS创建多层结构数据库应用程序实例
    建立多层结构应用系统,必须先建立应用程序服务器,并运行注册之,再建立客户端。下面就以笔者创建的一个三层结构为例来介绍用D elphi实现三层结构的步骤。(假设在应用程序服务器上已设好BDE连接,连到远程数据库服务器。)
    2.2.1 建立应用程序服务器。(在应用程序服务器上建立)
    (1)使用File菜单下的New Application建立一个新应用程序。
    (2)创建远程模块。使用File菜单下的New打开New Items对话框,在Multitier选项下,双击Remote Data Module,设置Classname 为rdm,Instancing及Threading Module属性取默认值。
    (3)在该远程模块上放一个Query1(Tqueyr组件),DatabaseName属性中指定为要访问的数据库,如“出版社”。在该远程模块上再增加一个DataSetProvider1(TDataSetProvider组件),DataSet 属性设为Query1,Options属性中令poAlloCommandtext为true。(设为true,则客户端应用程序中TClientDataSet的属性commandtext中的SQL语句就可以通过IAppServer接口传递。)
    至此,应用程序服务器已创建完毕,运行该应用程序服务器在系统中注册它,在应用程序服务器上运行ScktSrvr.exe文件,这样今后客户端程序就可以调用该应用程序服务器。
    2.2.2 创建客户端应用程序。(在客户端机器上创建)
    (1)建立数据模块。使用File菜单下的New Application建立一个新应用程序。在New Item中双击Data Module建立一个数据模块(命名为dm),在该模块上放一个连接组件SocketConnection1 (TsocketConnection组件),其IP属性中指定应用程序服务器的IP地址,在Port属性中取默认值211,在ServerName属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建的名为rdm的应用程序服务器。),这样就可以定位应用程序服务器和IAppServer接口。在dm数据模块上再增加一个ClientDataSet1(TClientDataSet组件),其RemoteServer属性设为SocketConnection1,ProviderName为DataSetProvider1。保存该unit为dm。
    (2)创建用户界面。使用File菜单下的New Form新建一个unit,在该unit中引用上面建立的数据模块单元dm。在用户界面Form上添加DataSource1(TdataSource组件),其DataSet
    属性设为dm.ClientDataSet1,即上面数据模块中的客户端数据集组件。添加一个DBGrid1(TDBGrid组件),DataSource属性设为DataSource1。添加一个Btton1组件,caption属性为“查询”,其click事件中程序代码为:
    procedure TForm1.Button1click(sender:Tobject);
    begin
       with dm.ClientDataSet1 do
         begin
             close;
             commandtext:=’select * from 书’;
             open;
         end;
    end;
    至此该三层结构已创建完毕,保存运行客户端应用程序,点击查询按钮(即Btton1按钮),则客户端应用程序将激活应用服务器程序,通过IAppServer接口把dm.ClientDataSet1中的SQL语句传到Query1,Query1通过BDE访问数据库服务器,查到的数据再通过IAppServer接口传给dm.ClientDataSet1,并在DBGrid1上显示出来。