三层模型的方法问题!!急急!(0分)

  • 主题发起人 主题发起人 big_brian
  • 开始时间 开始时间
B

big_brian

Unregistered / Unconfirmed
GUEST, unregistred user!
在Midas中,我需要在数据服务器模块添加方法使得客户端得ClientDataset能够使用AppServer
调用,该怎么办??急!急!急!请高手指教!!
 
不就是在远程模板的接口中加入方法就行了
 
看书吧~ 李维的上面有
 
唉,怎么会用ClientDataset去调用,而且ClientDataset也没有AppServer这个属性,只是TDCOMConnetion对象、
TSocketConnetion对象和TCorbaConnetion对象等有这个属性。
1、你在远程模板的接口中加入方法(通过Delphi的Type Library编辑器就可以加入);
2、客户端调用服务,简单来说,对服务对象的调用,应该用它所提供的接口去调用,因为服务对象的方法、属性
和事件都会定义在它的接口。
 
对!
如:TDCOMConnetion.AppServer.XXXXX(X);
当然,这样的调用是最没有效率的
另外还有两种方法!
详见李维的书!
 

  1. 第一层数据库服务器
   数据库服务器可以是各种流行的数据库系统,如Sybase、Ms SQLServer、Imformix、Interbase、Oracle或桌面数据库Dbase等等,只要在Windows 95或者Windows NT客户端环境下,通过BDE或ODBC能与之相连接即可。数据库系统所在的平台可以是Unix或Windows NT网络平台。
  2. 第二层应用程序服务器
  应用程序服务器所需的环境必须是Windows NT Server 4.0、Windows NT Workstation 4.0或Windows 95(Windows 95下必须安装Borland OLEnterprise),同时应用程序服务器所在的平台上必须安装Borland的BDE。
  3.客户端应用程序
  客户端应用程序所需的环境是Windows 95、Windows NT Workstation 4.0或Windows 98(Windows95 下必须安装DCOMCfg for Windows 95)。
  * 应用程序服务器的创建(服务器端远程数据集)
   首先创建一个Delphi数据库应用项目,然后,你可以按如下步骤进行操作。
  1.用File | New 创建一个Remote data module,系统会弹出对一个话框,让你输入类名。建议你给Remote data module的命名与数据集描述相对应(如CustOrderRemoteData等)。
  2.在Remote data module内放置一个或多个TProvider组件。
  3.在Remote data module内放置一个或多个TTable或TTuery组件。把TProvider与TTable或TQuery对象相关联(在Tprovider对象的DataSet属性中填入对应的TTable或TQuery)。
  4.鼠标点中TProvider对象,按鼠标右键为远程机器访问创建接口方法(COM对象)。这时,在弹出的菜单上选择“Export XXX from data module”,这里XXX是你的TProvider名。如果在你的菜单中没有上述选项,那么说明该选项已被选过。
  5.保存好你的程序,然后,编译运行该程序,同时进行系统注册。
  倒此为止,你已创建好了远程数据服务器,现在你可以把它放置在一个NT Server上,并配置好BDE。如果你使用OLEnterprise,你可以从网络的任何处访问它;如果你使用DCOM,那么你可以在NT域的任何处访问它。如果你把程序移到另一台机器中,则你必须在此机器上运行一遍程序以进行系统注册。从客户端访问这个服务器,只需安装单一的客户端可执行程序和大小为151Kb的文件DBClient.dll,无需安装数据库工具集。在服务器端,应包含文件STDVCL32.DLL,如果已经安装了Delphi,则该文件被自动安装。
  * 创建远程客户端应用程序
  应用程序服务器端设置好后,现在可以设置客户端的应用程序。我们假设客户机与应用程序服务器 在同一台机器上,程序调试好后再把应用程序服务器移到远程机器上。
   首先创建一个新的应用程序项目,放置一个TRemoteServer组件,填写好如下所示的属性。
  ServerName—你可编辑下拉组合框查来找你所要的Server名,如果该项的域为空,或者不含有你所需要的Server名,那么,在客户端运行一遍应用程序服务器程序,这样就可以注册服务器了;ComputerName—填写远程计算机名称。
  然后,把一个或多个TClientDataSet组件放置到窗体上,将其属性RemoteServer设置为前面设定的Server。从ProviderName属性下拉组合框列表中选择一个DataSet Provider。PacketRecords的属性值为-1时,表示一次从应用程序服务器取得所有的数据;为正值时,表示从应用程序服务器中取得PacketRecords属性数值个记录数的数据;而当其值为0时,则表示取得数据的 MetaData。
  由此可知,使用TclientDataSet可以让应用程序控制数据存取的流量,以及从应用程序服务器存取数据的种类。正象你使用Ttable或Tquery组件一样,你也可以在TclientDataSet组件上使用数据库控件集。现在可以运行你的客户应用程序了。
  
  
 
后退
顶部