再问一个相同的问题,答对者两道题300分全部送上(200分)

  • 主题发起人 主题发起人 NetBird
  • 开始时间 开始时间
N

NetBird

Unregistered / Unconfirmed
GUEST, unregistred user!
用adoconnection,设置connectionstring时用户名,密码,服务器名称全对,在客户端
win2000下能正常连接
sqlsever数据库,同样的程序在98se下却不行,为什么?
当adoquery.open时,错误提示为:[DBNPNTW]Access denied,不知是什么意思?
98下我已经运行过mdac了
 
提供更详细的 ADO 错误信息。
 
win98下装sqlserver的客户端了吗?
 
估计你把98下登陆的用户(windows的)加到服务器上的用户组里就可以了
 
应该是和SQL服务器没有连接成功,看看你WIN98的IP地址和服务器的是否对应。
另外还是多查查WIN98的客户端安装情况,实在不行就在WIN98下编译一下看看,
这样更容易判断错误原因。
 
是win2000的权限问题,不是SQL Server的问题。
解决方法:在win2000里面增加win98此用户的权限。
 
Sorry, 临时没有中文版
1.客户端要安装 MDAC 2.1 或以上版本

2.在 MS SQL Server 服务器的连接方式 (Win2000上)
Server Network Utility
(1) 选择默认连接方式为命名管道时,
要在在win2000用户管理里面增加win98用户

(2) 选择默认连接方式为 TCP/IP 时,
在 Win98 上用 Client Network Utility (SQL Server 安装时有客户端连接工具选项)
设置连接服务器方式为 TCP/IP 即可
也可用程序设置连接方式为 TCP/IP ( 不需安装 SQL Server 客户端工具))

const
cRegTree = 'SOFTWARE/Microsoft/MSSQLServer/Client/ConnectTo';
var
Registry: TRegistry;
begin
Registry := TRegistry.Create;
Registry.RootKey := HKEY_LOCAL_MACHINE;
try
Registry.OpenKey(cRegTree,True);
if UpperCase(Registry.ReadString('DSQUERY'))<>'DBMSSOCN' then
Registry.WriteString('DSQUERY', 'DBMSSOCN');
finally
Registry.Free;
end;

3. 就是这两端的连接方式,曾经害得我好惨,你可以自己琢磨一下.
 
我在客户端安装了sqlsever的客户端工具,连接成功。但是总不能让用户都安装客户端工具
吧,他们未必有盘,可在安装盘上有盗版的嫌疑
to koyochen:
你的代码我试一试看看
 
有问题请Mail koyochen@sina.com
我原来也有这个问题,现在全部搞定,
综合来说两端都是 TCP/IP 方式比较好用、配置工作量最小。
 
(1) Server
用服务器端连接设置工具(SQL Server 自带),设置默认连接方式为 TCP/IP

(2) Client
用上面代码(不要安装 SQL Server)或客户端连接设置工具(SQL Server 自带),
设置默认连接方式为 TCP/IP

(3) 设置连接方式不要指定到某一特定机器
(4) 设置完后用 ODBC 配置连接一下,(ODBC中就有连接方式的),测试一下

(5) DBMSSOCN // 连接方式为 TCP/IP Socket
DBNPNTW // name pipe
 
我将数据库转移至2000下,仍然连接不上,救命啊
 
深为你感到不幸!

能详细介绍一下你的情况吗?
(1) Server OS
(2) Client OS
(3) Error Message
(4) MS SQL Version

有 Mail 吗?
 
1.是不是你的服务器名写错了,检查一下,不行的话直接写IP地址来连;
2.如果还不行,到微软网站下载最新的MDAC,另外如果你用Delphi5的话,最好改用Delphi6来
重新编译,至少把补丁1,2都装上,连ADO的补丁也装上,在Borland和CSDN都有下载的。
 
谢谢大家的帮助,我装了MDAC2.7之后,问题解决了。
大家把分分了吧!Koyochen我多给一点,大家没意见吧?
 
多人接受答案了。
 
后退
顶部