我用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
请各位高手老师们予以指点。多谢!
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
请各位高手老师们予以指点。多谢!
2、默认身份身份验证级别“连接”
3、默认模拟级别“匿名”
4、COM安全增加了ANONYMOUS LOGON帐号并允许远程访问
5、EVERYONE可远程启动和激活
6、有没有可能是防火墙阻拦。另外,DCOM有利用到135端口,防火墙需要开放TCP/135端口。我当时是通过DCOM连接西门子的WinCC.OPCSERVER,除了以上配置外,还必须装上网络共享协议。