MS sql server 2000,客户端是不是一定要装连接工具?

时间:2022-09-12 20:12:08
请问我用C++ Builder做了一个程序,要连接数据库,服务器端装了MS sql server 2000,客户端是不是一定要装连接工具?有没有这种可能,copy几个dll文件就可以了呢?我发觉客户端操作系统是win 2000 server或win XP,就可以连接上去的,但是客户端的操作系统是win 2000 pro,就连接不上,在客务端却出现这么一个对话框    [DBNMPNTW]ConnectionOpen(CreateFile),这样就连不上数据库了,不知出了什么问题?请问如何解决?

10 个解决方案

#1


转贴:

2.配置客户端网络:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
"servers"="DBMSSOCN,ServerName,1433"

其中:
NTWDBLIB.DLL   连接MSSQL数据库的驱动库
DBNMPNTW.DLL  命名管道连接数据库使用的DLL
DBMSSOCN.DLL   TCP/IP连接数据库使用的DLL
DBMSSPXN.DLL   IPX/SPX连接数据库使用的DLL
其实,一般情况下我们只需拷贝NTWDBLIB.DLL给用户,因为系统默认的是命名管道连接,并且系统文件夹中有DBNMPNTW.DLL文件了。当然还有其他的连接库,比如使用NWLink IPX/SPX连接等。
安装SQL2000客户端除了根据需要(用户选择的连接方式)检查并安装这些DLL外,还安装了一些工具,诸如连接配置工具(WINDBVER.EXE),企业应用管理器等等。
我们给客户安装的时候,一般就是拷贝NTWDBLIB.DLL到系统文件夹中。如果还是连不上,就检查另两个文件是否存在。如果不行,就需要配置连接了。WINDBVER.EXE就是做这个工作的。不过我们有自己的配置窗口,实现与WINDBVER.EXE相同的功能。[配置的过程就是更改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo中的信息。
"DSQUERY"="DBMSSOCN"    //默认的连接方式,使用该连接方式的不用单独配置。
"MSSQL"="DBNMPNTW,MSSQL"  //该服务器使用命名管道连接(与开发环境的设置一致,如不装MSSQL客户端则必须设置此项)
"SQLServer"="DBMSSOCN,192.168.0.1,1433"   //该域名解析对该服务器无效,故使用了IP地址配置
"server1"="DBMSSOCN,server1,1434"  //该服务器使用了非默认的端口(默认端口为1433),故需要配置
"mysql"="DBMSSOCN,MSSQL,1436" //该SQLServer是一个命名实例,使用端口1436。配置一下,服务器名称填写"MySQL"即可。

#2


这样我试过不行呀!

#3


不见得
如果你用midas编程序就不需要
如果用就需要

#4


帮忙呀!

#5


不需要。用ado吧。

#6


我就是用ado的呀!怎么用才可以不会这样的问题呀?

#7


用ADOConnection...在ConntionString中..設置相應的ODBC..user id.pwd就可以..

#8


这样不行呀!不知为什么?客户端操作系统为win 2000 pro 就不行呀!为xp呀win 2000 server就可以呀!我想可能缺少一些dll文件!但不知缺少哪些!

#9


我在win98下用ADO试过,没有大问题,
但若是非缺省端口1433,是不能直接识别这样的源: 192.168.0.1,端口,
但执行mdac_typ.exe后就能直接识别了

#10


我这得2000 pro 没问题,应该是你系统设置的问题!

#1


转贴:

2.配置客户端网络:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
"servers"="DBMSSOCN,ServerName,1433"

其中:
NTWDBLIB.DLL   连接MSSQL数据库的驱动库
DBNMPNTW.DLL  命名管道连接数据库使用的DLL
DBMSSOCN.DLL   TCP/IP连接数据库使用的DLL
DBMSSPXN.DLL   IPX/SPX连接数据库使用的DLL
其实,一般情况下我们只需拷贝NTWDBLIB.DLL给用户,因为系统默认的是命名管道连接,并且系统文件夹中有DBNMPNTW.DLL文件了。当然还有其他的连接库,比如使用NWLink IPX/SPX连接等。
安装SQL2000客户端除了根据需要(用户选择的连接方式)检查并安装这些DLL外,还安装了一些工具,诸如连接配置工具(WINDBVER.EXE),企业应用管理器等等。
我们给客户安装的时候,一般就是拷贝NTWDBLIB.DLL到系统文件夹中。如果还是连不上,就检查另两个文件是否存在。如果不行,就需要配置连接了。WINDBVER.EXE就是做这个工作的。不过我们有自己的配置窗口,实现与WINDBVER.EXE相同的功能。[配置的过程就是更改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo中的信息。
"DSQUERY"="DBMSSOCN"    //默认的连接方式,使用该连接方式的不用单独配置。
"MSSQL"="DBNMPNTW,MSSQL"  //该服务器使用命名管道连接(与开发环境的设置一致,如不装MSSQL客户端则必须设置此项)
"SQLServer"="DBMSSOCN,192.168.0.1,1433"   //该域名解析对该服务器无效,故使用了IP地址配置
"server1"="DBMSSOCN,server1,1434"  //该服务器使用了非默认的端口(默认端口为1433),故需要配置
"mysql"="DBMSSOCN,MSSQL,1436" //该SQLServer是一个命名实例,使用端口1436。配置一下,服务器名称填写"MySQL"即可。

#2


这样我试过不行呀!

#3


不见得
如果你用midas编程序就不需要
如果用就需要

#4


帮忙呀!

#5


不需要。用ado吧。

#6


我就是用ado的呀!怎么用才可以不会这样的问题呀?

#7


用ADOConnection...在ConntionString中..設置相應的ODBC..user id.pwd就可以..

#8


这样不行呀!不知为什么?客户端操作系统为win 2000 pro 就不行呀!为xp呀win 2000 server就可以呀!我想可能缺少一些dll文件!但不知缺少哪些!

#9


我在win98下用ADO试过,没有大问题,
但若是非缺省端口1433,是不能直接识别这样的源: 192.168.0.1,端口,
但执行mdac_typ.exe后就能直接识别了

#10


我这得2000 pro 没问题,应该是你系统设置的问题!