我的MTS组件,远程调用提示:interface not support!(100分)

  • 主题发起人 主题发起人 zengsun
  • 开始时间 开始时间
Z

zengsun

Unregistered / Unconfirmed
GUEST, unregistred user!
我的MTS组件在本机调用没有问题,但在其他机器上提示:interface not support
我的组件借口已经是IUnknown了。
 
那是因为你没有在那台机子上注册你的代理,你用COM SERVICE上右点击你的COM组服务,
上面有个导出,你一步步来,再选导出文件时,你选择导出客户端就可以了,然后把导出
东东在客户端的机子上安装一下就可以了.
 
我的这个控件会出现提示 少了 Dsgnintf.dcu 文件,为什么??
 
这和接口无关,而是由于你的计算机没有权限调用组件的原因。最简单的办法就是把两台机
上都建立相同的用户名和密码,客户机就此用户名和密码登录服务器就可以了。较好的办法
是将服务器建立为主域控制器,将客户机登录到此域中,这样在客户机修改账户密码时密码
是与服务器上的同步的,而前一种方法下,客户端修改了账户密码后就会又调用不了组件了。
 
to berseark:
我按照你说的方法试了一下,导出是成功了。但是在其它机器上安装失败了。
提示:error registering COM+ Application Contact your support personel
for more information.
我的COM+组件是注册在WIN2000 Professional上。
to Sachow:
你的方法我暂时没有条件测试,没有要求宽松点的吗?要两台机器上都用相同
的用户登录,我这里的条件作起来不容易。不可以赋权限吗?
 
问题1:
删除目标机器上原有的同名组件;
将Midas.dll复制到目标机器上(WinNT/System32目录下)并使用regsvr32注册;
if (导出类型 == 应用服务器){
if (你的系统使用了BDE)
在目标机器上安装BDE;
}
问题二:
根据我的经验,在COM+系统中,不这样做是不行的,但DCOM似乎要宽松一点。麻烦一点,带
来的是更高的安全性。如果你的系统对安全性没有多少要求,可以尝试使用TSocketConnection
连接服务器,详细情况请在论坛中搜索“SocketConnection”关键字。
 
to Sachow;
你说的第一个方法,我已经试过了,但是结果是一样的。我还是没有办法远程调用
MTS组件。
后来我又在客户机器的组件服务里加上了有MTS组件的那台机器,在里面可以看到
我要得MTS组件,但是运行客户端程序的结果一样让人失望。
我又在组件中添加了角色,结果是连本地调用都不行了。提示:拒绝访问。
远程调用的错误提示也一样。
太郁闷了!大哥你有何良方?
[:(]我……
 
是不是服务器端的接口和客户端的不一致导致的,比如说服务器端已经修改了组件对象方法
的接口,但客户端并没有更新注册,同样会导致Interface not supported的错误。我原来
就遇到过这种情况。
如果不是这个问题,你按以下步骤尝试:
1、检测你的COM+组件是否已经正确安装到目标服务器的COM+环境中(COM+组件的标识->账户
设置中选“交互式用户”);
2、在服务器上建立用户MyCompCaller,密码为1234;
3、在客户机上建立用户MyCompCaller,密码为1234;
4、客户机注销当前Windows登录,并用用户MyCompCaller登录Windows;
5、调用组件。
 
谢谢,我终于调用成功。
但是,要调用MTS组件的话,所有客户端都要用相同的名字登录系统
这好像不太可能。如何解决?
大哥,你真是好人呀[:D]
 
不是每个客户端都要使用相同的名字登录系统,如果你愿意的话,可以在服务器端为每个使
用者建立一个用户,让他使用此用户名登录Windows,但是这样存在密码维护的问题,即:你
为每个使用者定的密码都有个初始值(比如1234),但使用者会希望修改他的用户密码,但
当他的Windows登录到本机上时,修改密码后服务器并不知道,所以又会造成调用失败,因此
应该把服务器设置为域控制器,客户端每次登录到此域中以后再运行程序,这样当用户修改
密码时,服务器端的用户密码也会同步,就不会造成用户修改密码后又不能调用组件的情况了。
 
我不明白,在COM+组件的标识->账户
设置中选“交互式用户”,只能是一个用户啊,其他的用户就没有权限和
COM+互交,不是吗?[:)]
 
你理解反了。如果选“此用户”并设置用户名和密码后,才是只允许选中的用户使用,不允
许其它用户使用。
 
zengsun的方法我试成功了,用代理可以实现[:)],但这方法不可取,不可能每台客户机都要装代理,如果改了com 又要在安装com代理
 
啊,天哪!
我又不行了。开始我用“此用户”,结果在客户机上调用成功了。
我改成“互交式用户”后,客户机报告错误:interface not support!!!
我又改回来,可是程序还是报错:interface not support。
注销,重起N次未果。重新注册组件N次未果。
看来还是有问题。[:(]
服务器不是我一个人用,我不能重起。只好等明天了。
非常谢谢Sachow和来参予的各位。希望明天可以结贴。
 
再次感谢各位的热心,我的问题依旧存在,
这几天我想再仔细看看书,以后再见![:)]
散分
 
后退
顶部