点击DCOMConnection1.connected显示RPC服务器不可用

kanon_2005 2007-12-10 02:39:19
我在单机上运行,程序没有任何问题,一切正常。
当我在做三层结构程序时,在客户端程序的数据模块里放入DCOMConnection1,设置它的Computername:='本机名'
ServerName=:'Project1.EasyDCOMServer'都没问题,但当设DCOMConnection1.connected=true时就出错,
提示"RPC服务器不可用." 请问这是为什么 .
...全文
211 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiyouwenti 2007-12-25
  • 打赏
  • 举报
回复
关闭两方的windows防火墙(方法:网上邻居----“属性”----本地连接----属性----高级----设置---关闭防火墙)

1、DCOM配置如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:

1) 运行NT服务器上的dcomcnfg程序,进行DCOM配置。

2) 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

3) 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。

4) 在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。

5) 将常规页面中的身份验证级别改为“无”。

6) 位置页面中选上“在这台计算机上运行应用程序”。

7) 将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。

8) 身份标识页面中,选择“交互式用户”。



、网络环境Ⅰ:应用服务器运行在域服务器上(Win2000 Server),客户端运行在域里的用户机上(Win2000、Win98、Win95)

1、 客户端:

(1) 客户端机器如果是Win98,则必须先安装DCOM98(发现Win98第二版也没有DCOM?);

(2) 客户端机器如果是Win98,则设定为“用户级存取控制”或“共享级存取控制”都可以;

(3) 客户端不需配置DCOM、只需配置应用服务器端的DCOM;

(4) ※ 客户端也不需要注册应用服务器的类型库(Type Library)信息。

2、 应用服务器端:

(1) 运行DCOMCNFG.EXE,打开“分布式COM配置属性”窗口;

(2) 全局安全性设置:

设置“默认属性”页的“默认身份验证级别”为“无”;

(3) 特定COM应用程序的安全性设置:

a、“安全性”页,设置“使用自定义访问权限”、“使用自定义启动权限”;

b。、※ “身份标识”页,最好选择“指定用户”(调试时可选择“交互式用户”;最好不要使用“启动用户”,除非应用服务器和客户端在同一台机器上)。



二、网络环境Ⅱ:非域环境,应用服务器运行在Win2000上(Win2000 Server或Professional),客户端运行在Win2000、Win98、Win95上

1、 客户端:

(1) 客户端机器如果是Win98,则必须先安装DCOM98(发现Win98第二版也没有DCOM?);

(2) 客户端机器如果是Win98,则设定为“用户级存取控制”或“共享级存取控制”都可以;

(3) 客户端不需配置DCOM、只需配置应用服务器端的DCOM;

(4) ※ 客户端需要注册应用服务器的类型库(Type Library)信息;

(5) ※ 在应用服务器端机器的操作系统里要存在登录客户端机器用的帐号和密码。

2、 应用服务器端:

(1) 运行DCOMCNFG.EXE,打开“分布式COM配置属性”窗口;

(2) 全局安全性设置:

设置“默认属性”页的“默认身份验证级别”为“无”;

(3) 特定COM应用程序的安全性设置:

a、※ “安全性”页,设置“使用自定义访问权限”、“使用自定义启动权限”,可以在自定义里加入EveryOne;

b。、※ “身份标识”页,最好选择“指定用户”(调试时可选择“交互式用户”;最好不要使用“启动用户”,除非应用服务器和客户端在同一台机器上)。
kanon_2005 2007-12-10
  • 打赏
  • 举报
回复
过程是这样的:我采用DCOM方式,先在本机上试验(数据库access、服务器包括adoquery1和datasetprovider、客户端包括DCOMConnection、clientdataset、database),一切都很正常,没有什么问题。后来我把客户端程序(已生成exe)发送到另一台机器上,我自己这台机器作为服务器,其结果是程序打不开,出现windows系统提示“你的client.exe遇到问题需要关闭,详细情况请……”,,后来我就在那台机器上(作为客户端的机器上)安装了delphi ,在设置DCOMConnection时候,出现只要一点击connected属性,就出现“RPC服务器不可用”,我估计是我服务器这边没有设置好,小弟想请教各位高人,在两台机器上进行通信,服务器这边具体应该还要设置什么,怎么设置,具体步骤是什么,谢谢各位了
yagzh 2007-12-10
  • 打赏
  • 举报
回复
你可能没有打开服务器SocketConnection可没有配置好服务端的Com+

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧