三层系统开发中关于DCOM连接的问题,涉用到应用系统的分发,请各位大虾指导!(200分)

  • 主题发起人 主题发起人 lsha
  • 开始时间 开始时间
L

lsha

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一台WIN98机器上做了一个应用服务器程序和一个客户端程序,运行正常。

然后我将应用服务器程序拷贝到一台NT4服务器上,该服务器安装了PACK5,又
将midas.dll拷贝到winnt/system目录下并使用regsvr32注册,运行应用服务器
程序后,该程序在NT4中自动注册,运行dcomcnfg.exe,将该应用服务器的启动、
存取权限赋予给几个帐号。由于远程数据模块采用的是ADO连接SQL SERVER,所以
不需安装BDE。

然后我就在另外干净的WIN98机器上安装了DELPHI5,新建一个项目文件后,在数据
模块中DCOMConnection控件中,在ComputerName中指明NT4服务器,但是在ServerName
中却找不到该应用服务器的类标识,只好将应用服务器程序拷贝到该机器上运行后,
就可以找到该应用服务器的类标识了,然后就点将connected属性置为TRUE,在NT4服
务器上出现一个"应用程序发生异常 未知的软件异常(oxOeedfade), 位置为ox77eed7a2"
客户端弹出"服务器运行失败"。请这个问题怎样解决???

另外还有一个问题就是应用服务器程序是不是必须要拷贝到客户机上运行一次,并注册?
如果是这样,发布客户端程序就好麻烦。

多谢各位大虾多多指教,小弟先谢了!!!

 
应用服务器程序不必要拷贝到客户机上运行一次,并注册。
运行Dcomcnfg.exe选择Default页面设定访问为Everyone即可。
这样设置的缺点是缺乏安全性。
 
如果不将应用服务器程序拷贝到客户机上运行一次,并注册,那么在客户端
DCOMConnection控件的ServerName属性中找不到该应用服务器程序的类ID,客
户端程序就无法与应用服务器连接了!
 
你在DCOMConnection的ComputerName属性中输入服务器的HostName即可
 
在NT4服务器上出现一个应用程序异常 ,说明你已经能够连上去了,
只是你的服务器上的某些dll可能合你的程序不兼容,或许是版本太低,
所以出错。

另外如果设计时下拉列表找不到应用服务器的类标识,你自己写上去也行的。
应用服务器程序不需要到处注册


 
Pipi你好,现在解决了一个问题:即应用服务器程序不需要到处注册。
其实我也感觉连上去了,我做的这个DEMO应用服务器程序很简单,用ADO连接的SQL SERVER
然后在应用服务器接口上添加了一个方法,取连接数据库的所有表名,没有涉及一些复杂
的问题,这个程序在李维的《系统篇》上有,在一台机器上没问题,应用服务器程序在NT上
单独也可运行起来,只要将客户端程序中的DCOMConnection控件的Connected属性置为TRUE
时,服务器上马上弹出错误,而客户端程序过一会就弹出"服务器运行失败"。
请各位大虾多多指教!!!

 
不要用DCOM,不方便,还不如使用WEBCN,我就使用它,速度还可能,也不要搞什么DCOM95等的设置
或者使用SOCKETCN链接,但它启动服务器比较费时间。
 
我使用Socketcn连接,运行正常,这说明不是NT中的dll问题,我想问题还是出在DCOM中。
请大虾继续指教!!!
 
干脆你在nt4上安装delphi慢慢调试吧
 
多人接受答案了。
 
后退
顶部