各位大虾,为什么我的98的DCOM无法连接,提示类没有注册,详细请见内。(100分)

  • 主题发起人 主题发起人 morphia2000
  • 开始时间 开始时间
M

morphia2000

Unregistered / Unconfirmed
GUEST, unregistred user!
1、环境:
数据库服务器:NT SERVER 4.0 + service pack(3, 4) + MSSQL7
中间层服务器:NT WORKSTATION 4.0 + service pack(3, 4, 5, 6)
客户端(1):NT SERVER 4.0
客户端(2):WINDOWS 98
2、配置:
在中间层服务器DCOMCNFG中的所有权限已经设置成为EVERYONE
3、情况:
(1)在NT SERVER 4的客户端上运行及连接已经正常
(2)在WINDOWS 98的客户端上运行客户端程序时提示“类没有注册”
然后运行失败。
4、使用DELPHI进行测试时出现同样的问题(WINDOWS 98),如下:
A、新建一个应用;
B、放下DCOMCONNECTION构件,然后设置COMPUTER NAME成为中间层服
器的名称;
C、在DCOMCONNECTION构件中选择SERVER NAME,但是没有任何SERVER
OBJECT 可以选择;这时将中间层服务器拷贝至客户端,注册一次
(注:因为我的中间层服务器制作成DLL形式,所以不能执行,因
此使用REGSVR32来注册,会不会这里出现了问题)
D、进行了步骤C后再回到DCOMCONNECTION构件中选择SERVER NAME后就
有我的中间层服务器的对象选择了。
E、选择好了中间层对象后然后试图激活服务器(将ACTIVE选择成为TRUE)
但出现提示,“类没有注册”
程序马上就要发布了,非常急!!!有哪位可以告诉我??先谢谢了
 
首先就好在win98的机器上装一个dcom98!在vc++,或vb的cdrom里就有!
你的c是必要的一步!
不过你这个问题在以前有很多讨论!问题也许在nt的docm设置上!
 
你难道不知道吗?走DCOM是只能作成.exe的,只有COM才能用动态链结库(.dll)的形式。
 
亲爱的hspdel,您说“你难道不知道吗?走DCOM是只能作成.exe的,只有COM才能用动态链结库(.dll)的形式。”
这个好像不对耶dll形式的DCOM嘛,服务器端使用MTS一类的东西就可以了,其实用到了一个叫做“代理进程”的东西,更加具体的嘛,劳您查书了————其实我也不清楚 @_@。
至于morphia2000的问题,请您使用dcomcnfg.exe(98ver1 and nt)来配置一下您所注册的组件,如果在这里看不到您的组件,那就是没有注册上喽,原因很多很多拉————其实我也不清楚 @_@。
 
看来我得劝你去好好看看书了(呵呵)
COM是对象,它本身是无法跨多台机器通讯的,它只能通过DCOM或MTS或其他形式来实现分布式。
MTS必须存在与IN_PROCESS COM服务器(DLL),而DCOM是OUT_PROCESS(EXE)
他们两者都是调用COM对象的。微软推出这两个都是为了实现分布式。
 
dcomcnfg配置一下就好了
 
呵呵,都没有说到点子上。
我来结束吧,问题就在于:我的WINDOWS 98没有设置成为用户级访问
才会造成这样的问题的。
 
多人接受答案了。
 
后退
顶部