DCOM连接问题,我是初学者,请高手进来帮忙一下:
问题如下:
    我做一个查询的DCOM中间层,客户端用DCOMConnection在本地可以连接,并可以查询数据,但是如放在另一台局域网内的计算机上运行客户端,不能连接(问题所在,不知道为什么?)。
    如果将客户端改为SocketConnection来连接,都可以连接(需要将scktsrvr.exe在本机运行进行端口监听)。
   
    请问为什么DCOMConnection在局域网内的计算机上运行客户端不能正常连接?

解决方案 »

  1.   

    通过dcomcnfg配置server 端。
      

  2.   

    使用dcom需要在服务器上配置用户权限,你找李维的《Delphi 5.x 分布式多层应用系统篇》看看吧
      

  3.   

    系统是提示,拒绝访问哦。
    还有如何通过dcomcnfg配置server  端。
    配置用户权限???
    不明白
      

  4.   

    执行:dcomcnfg里边有三项,都加入anyone就可以了。
      

  5.   

    我也有这个问题
    我在dcomcnfg中把自定义访问权限设为network 或everyone都拒绝访问,本地运行可以。另外《Delphi 5.x 分布式多层应用系统篇》这书哪里有的下载啊?
      

  6.   

    这里
    http://www.4057.com/down/soft/6348.htm
      

  7.   

    DCOM连接一般来说是用于域服务器,中间层放在服务器上,只要在服务器主机设置即可,当然中间层要在服务器上运行一次(登陆),还要有midas.dll。如果不是域服务器,客户机与服务机应该以同一用户登录,否则还是连接错误。
      

  8.   

    我在学习时没有什么域服务器哦,
    midas.dll有了,但是就是连接不上,不知为什么;
    但是如果把scktsrvr.exe也运行了,就可以用SocketConnection来连接
    可正常连接,
      

  9.   

    在服务机配置DCOM,
    客户机与服务机以同一帐号登录
      

  10.   

    同一账号,客户端是98也,
    数据库是在一台2000 server上,应用层是在xp上,
      

  11.   

    出现了interface not supported ,怎么回事啊?
      

  12.   

    我设置了,是否不对?
    1、安全性都设置为默认。
    2、标识设置为交互式用户
    2、位置设置 我都勾了,还在“在以下计算机运行应用程序”加入了本机计算机名称。我在另一台计算机(XP)调试客户端程序,在出错里提示是“class EOleSysError with message "拒绝访问。" ”以前忘记说出错了。 
      

  13.   

    谢谢各位,我搞定了。哈哈,
    原来我还有一个地方没有设置哦。一、在dcomcnfg的DCOM组件中的工具栏上有个“配置我的电脑”里有个
    默认COM安全性需要设置,都加入"Everyone"。
    二、在COM属性中设置为:
    1、安全性都设置为默认。
    2、标识设置为交互式用户
    3、位置设置为在本机运行应用程序。