我用XP做服务器,用2000做客户端,用的是SQL server 2000。其中用到了DCOM。为什么访问不到数据库呢?我把在服务器上把计算机名换成服务器本机的IP地址或计算机名字就可以连上,但是在客户端机器上用服务器的IP或计算机名都连不上,是不是DCOM配置有问题呀?我的配置如下:
DCOM配置
  如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:
  1.运行NT服务器上的dcomcnfg程序,进行DCOM配置。
  2.进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
  3.进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
  4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
  5.将常规页面中的身份验证级别改为“无”。
  6.位置页面中选上“在这台计算机上运行应用程序”。
  7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
8.身份标识页面中,选择“交互式用户”。
9.NT的GUEST用户不能禁用。
同样,把你服务器上的的midas.dll考到客户机器的system目录下
同时运行一下regsvr32 midas.dll
请各位高手老师们予以指点。多谢!

解决方案 »

  1.   

    问题解决没有?DCOM配置不大清楚,你上网查一下
      

  2.   

    建议不要用DCOMConnection作为数据库连接,采用SocketConnection,配置起来简单很多。
      

  3.   

    一般的情况下,默认的DCOM配置就可以进行连接,如果客户端不能连接,你用客户端的ODBC连接工具试一下便知是不是DCOM设置的问题。另外服务器上的SQL配置,要求要可以允许TCP/IP方式访问。SQL提供了专门的设置工具,可以看一下。
      

  4.   

    还是没有解决呀?who can help me?
      

  5.   

        1、启用“在此计算机启用分布式COM”
        2、默认身份身份验证级别“连接”
        3、默认模拟级别“匿名”
        4、COM安全增加了ANONYMOUS LOGON帐号并允许远程访问
        5、EVERYONE可远程启动和激活 
        6、有没有可能是防火墙阻拦。另外,DCOM有利用到135端口,防火墙需要开放TCP/135端口。我当时是通过DCOM连接西门子的WinCC.OPCSERVER,除了以上配置外,还必须装上网络共享协议。