我做了COM+组件核心的三层系统。COM+组件及SQLSERVER都装在同一台服务器上(XPpro),把客户端装在服务器上时,远行正常,但在另一台机器上装上COM+代理及客户端程序后,就不能建立远程对象的接口了。COM+代理可正常安装,两台机器也可互相访问共享的文件夹,且两台机器都为XPpro。
----------------------------------------------------------------------------------------
客户端调用远程COM对象方法:例,COM+对象接口为IMember; COM+服务器的地址为192.168.1.2objMember: IMember;
try
    objMember := CoMember.CreateRemote('192.168.1.2');
except
    ShowMessage('建立失败');
    Exit;
end;
----------------------------------------------------------------------------------------
请教高手不知客户端调用服务器COM+对象需要哪些权限?而且我在客户端机器上尝试用DCOMConnect连接服务器上的COM+数据模块时,提示“拒绝访问”。

解决方案 »

  1.   

    楼主我遇到的问题跟你有点类似,我把客户端放到2000下,服务端在XP下也不行访问了,但客户端服务端都在XP下或2000下就可么访问,
    http://community.csdn.net/Expert/topic/4432/4432649.xml?temp=.3466913
      

  2.   

    谢谢大家的参与及帮助!我在网上又看了些资料,觉得可能是和访问权限有关。
    我在服务器和客户端都拷了midas.dll文件,COM+组件包没有强制进行安全检查,也没有添加角色,在两台机器上的“本地连接”上,都没有使用防火墙(不知是不是还需要把ICF的服务也关掉)。我的开发环境是Win2003,导出的COM+服务器安装包可以在服务器上正常安装,且客户端程序在服务器上也可正常运行。看了些资料,好像是说客户机激活服务器上的COM+组件前是要做为服务器上的用户登陆的,如果没有就会用Guest来登陆,另为还提到要开启Guest用户的远程访问权限。不知是不是和这个原因有关系。
      

  3.   

    看看我的这篇文章能不能帮助你:
    http://blog.amteam.org/user1/3098/archives/2005/8630.html