500分 !!大虾求救,急!!! “远程过程调用失败”错误,为什么??(200分)

  • 主题发起人 simbasun
  • 开始时间
S

simbasun

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADO + DataSetProvider 连接 SQL SERVER 做服务器,应用程序用
DCOMConnection 连接时总是出现“远程过程调用失败”错误。

我做了以下测试:

用ADO + DataSetProvider 连接 ACCESS 做服务器, 一切正常。

不用 DCOMConnection ,直接连 SQL SERVER 也没有问题。

所以我判断问题是出在 DCOMConnection 与 SQL SERVER 的连接上,但不知道怎么解决。。。

注:我用的是Delphi 5 和 SQL SERVER 2000 个人版 在单机环境下(Win98)
 
1、服务器需要注册才可使用;
2、配置Dcom;
 
1、服务器程序没有注册;
2、DCOM没有配置好。
 
注意用户名、数据库的账户。
我曾经在两台机器上都成功了,但是在成功之前摸索了一两个月,就是因为搞错了
机器名称和用户名两个概念。
当然楼上两位说的也要进行,同时还要注册MIDAS.DLL这个动态连接库。
 
1.服务器已经注册了,不然用ADO + DataSetProvider 连接 ACCESS 做服务器时,
DCOMConnection就不会成功。
2.关于配置Dcom的问题,我在Windows/system下面找不到 dcomcnfg.exe ,我已经
安装了 DCOM for Win98 ver1.3。所以不知道如何配置。但问题在于不用ADO 连
SQL Server 时,DCOMConnection 是可以连接成功的。
3.机器名是不是就是 DCOMConnection 的 ComputerName 属性值? 用户名是不是指
SQL Server 的用户名? 如果是的话,我大概没有搞错。
 
下载Delphi 5的补丁没有?
 
你可以用SocketConnetion(要运行scktsrvr.exe)试一下,如果没有问题,
那说明是Dcom没有配置好了.
 
simbasun,:2, 我用的是WIN2K,在C:/WINNT/system32/DCOMCNFG.EXE,
我感觉还是用WIN2K 比较好, 不必安装,内部已经有了,
3.机器名 应该就是 DCOMConnection 的 ComputerName 属性值,用户名是指开机时,
登录到网络的账户密码,用NT,WIN2K,同样也有的。用户名不是SQL Server 的用户名。
SQL Server 的用户名应该在ADO组件里设置,与DCOM无关。


Upgrade到ADOExpress Patch 2即可.
李維
 
在ACCESS可以联上?
在mssql是不行?问题应该就在这里,你仔细检查吧。
小问题会使你迷失方向。。。。。:)
 
也许Upgrade到ADOExpress Patch 2即可.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部 底部