我按照书上介绍,先做了一个简单的应用服务器程序,在服务器应用程序上用了TDataBase,TQuery,TDataSetProvider组件,TDataBase连了Sql Server数据库,并且也连接成功了。
在做客户端程序时,我用了TDCOMConnection,和TClientDataSet组件。在做DCOMConnection连接时,把connect设置为true时,能自动激活应用程序服务器。但是在设置TClientDataSet时,RemoteServer属性在下拉菜单中能够找到,但是设置ProviderName属性时,下拉菜单并不显示DataSetProvider,当我直接把DataSetProvider名字写进去时,再把Active属性设置成True时,显示“RPC服务器不可用”,(我是在同一台机子上做的)请问各位大侠此错究竟出在哪,应该怎么解决,谢了!!!

解决方案 »

  1.   

    DataSetProvider与DCOM服务器(远程数据模块)之类没有建立上联系,在DCOM服务器枚举Provider时返回不了DataSetProvider。认真检查你的应用服务器有没什么地方没做对。
      

  2.   

    谢谢高手,可是我已经做了好几次了,毛病还是这样,我是按照李维写的《delphi5.x分布式多层应用系统篇》的例子做的。我实在不知道错在哪儿了,我是刚接触分布式开发的,真的是郁闷死了。
      

  3.   

    你在server 端的控件, 是不是放在 remote dataModual 中??
      

  4.   

    应该可以肯定用的是remote datamodual 否则DCOM会找不到服务器
      

  5.   

    看看这个,你自己做的,
    但是设置ProviderName属性时,下拉菜单并不显示DataSetProvider,当我直接把DataSetProvider名字写进去时,再把Active属性设置成True时,显示“RPC服务器不可用”
    一般我们做的时候是,都是选的,不是手动添的,你确认你的应用服务器编译了吗?
      

  6.   

    应用服务器确实编译过了,我做了已经不止一次了,下拉菜单中始终不显示DataSetProvider的名字。
      

  7.   

    在开应用服务器的同时还要打开DCom服务器,否则要抱错
      

  8.   

    打开DCom服务器?怎么打开?我看书上说只要运行一下应用服务器就行啦。
      

  9.   

    你把DataSetProvider服务器的什么地方?要放在remote datamodual 里啊
      

  10.   

    在服务器端,我都放在Remote Datamodule中的。
    我做了已经不止一次了,下拉菜单中始终不显示DataSetProvider的名字。