远程创建COM对象失败的问题

hjw_1985 2010-12-31 02:47:43
我的code是这样的
Public Function GetObject(sProgID, Optional bLogError As Boolean = True) As Object
Const C_LOCATION = "clsRDS.GetObject"
On Error GoTo ErrorHandler
'Code Start ---------------------------------------------------
Dim oObject As Object

Set oObject = moRDS.CreateObject(sProgID, msServer)

Set GetObject = oObject
在另外一个server上面创建component service的对象,但是失败了。creatobject的2个参数正确。但是运行完
Set oObject = moRDS.CreateObject(sProgID, msServer) 以后,oObject的值却为空。不知道是什么原因造成创建COM对象不成功呢?
我是在本机部署的component service,而且以管理员的身份登录本机,在COM security里面管理员的access permission和Launch and Activation permission都设置得最高。还会有什么问题导致创建COM对象失败的?怎么检查呢?谢谢了
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2011-06-11
  • 打赏
  • 举报
回复
在本机创建对象,一般而言,和权限没有什么关系,关键是sProgID, msServer这个两个参数是否有问题,sProgID是否已经有注册,是一个可用的ProgID,msServer是否为正确的服务器名称,你可以先不要设置该参数,或者,设置为"localhost"试试看
hjw_1985 2010-12-31
  • 打赏
  • 举报
回复
Number: -2147024809
Source: Microsoft ADO/RDS
Description: One or more arguments are invalid.

一开始以为是什么参数错了,结果debug的时候发现根本不是参数错误的原因。因为很多对象都没有创建,所以拿不到数据。同一个配置在另外一个环境运行的话就会直接报对象找不到的错误
  • 打赏
  • 举报
回复
N年前用过,好像是win 2000 server的optional pack里的。
有错,要错误信息。
hjw_1985 2010-12-31
  • 打赏
  • 举报
回复
我现在想的是,远程创建COM对象是需要权限的,那么我是用什么身份去创建这个对象的?

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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