客户端无法连接数据库问题分析Word文档下载推荐.doc
《客户端无法连接数据库问题分析Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《客户端无法连接数据库问题分析Word文档下载推荐.doc(5页珍藏版)》请在冰点文库上搜索。
如果有连续信息说明正常;
如果无反应则说明不同,有问题。
2.若在网上邻居访问服务器,不能访问或无法打开服务器上的共享资源,说明是局域网连接有问题或未开放权限。
具体网络无法访问服务器的检查操作请参见附件中另外一个文件《客户端无访问服务器处理.doc》
二、防火墙的问题
请检查是否有防火墙存在,如存在请将防火墙退出或者将其级别降低。
三、端口或者协议配置问题
在确保客户端的数据库配置参数正确的情况下,您的计算机还是不能访问到数据库或者访问速度非常慢,您就考虑端口或者网络协议的问题。
在Dos或命令行下输入telnet服务器IP端口,看能否连通。
如telnet192.168.0.11433
通常端口值是1433,因为1433是sqlserver2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"
。
如果这一步有问题,应该检查以下选项。
①检查远程服务器是否启动了sqlserver2000服务。
如果没有,则启动。
②检查服务器端和客户端有没启用TCP/IP,NamedPipes及多协议。
检查方法是,在服务器上和客户端(工作站)打开开始菜单->
程序->
MicrosoftSQLServer->
服务器网络实用工具或者在开始菜单->
运行中输入cliconfg->
确定(如图一、二),看启用的协议里是否有TCP/IP,NamedPipes及多协议,如果没有,则启用。
(图一)
(图二)
③检查服务器和客户端的TCP/IP端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的TCP/IP的属性,确保默认端口为1433(图三)。
(图三)
④如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
⑤检查服务器是否在1433端口侦听。
如果服务器没有在TCP连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入
netstat-a-n或者是netstat-an,在结果列表里看是否有类似tcp127.0.0.11433listening或tcp0.0.0.0:
1433listening的项。
如果没有,则通常需要给sqlserver2000打上至少sp3的补丁。
在服务器端启动查询分析器,输入select@@version执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁(图四)。
(图四)
如果以上都没问题,这时你再做telnet服务器ip1433测试,将会看到屏幕一闪之后光标在左上角不停闪动。
⑥在正常情况,客户端的网络协议不需要人工干预,但有时会出现协议不正常的情况,若客户端数据库参数配置中“数据库服务器”为服务器计算机名称,请在SQLServer客户端网络实用工具中“按顺序启用协议”设置中将“NamedPipes”放在“TCP/IP”之前。
若客户端数据库参数配置中“数据库服务器”为服务器IP地址,请在SQLServer客户端网络实用工具中“按顺序启用协议”设置中将“TCP/IP”放在“NamedPipes”之前(图五)。
(图五)
四、SQLServer数据库问题
如果所有的工作站程序都不能访问数据库(包括服务器端),就应该考虑是SQLServer的问题,请检查SQLServer是否正常启动、SQLServer安装是否正确等。
SQLServer安装容易出现的问题通常是由于SQLServer使用了"
仅Windows"
的身份验证方式,因此用户无法使用SQLServer的登录帐户(如tjuser)进行连接。
解决方法如下所示:
①在服务器端使用企业管理器,并且选择"
使用Windows身份验证"
连接上SQLServer
②展开"
SQLServer组"
,鼠标右键点击SQLServer服务器的名称,选择"
属性"
,再选择"
安全性"
选项卡。
③在"
身份验证"
下,选择"
SQLServer和Windows"
(图六)。
(图六)
④重新启动SQLServer服务。
(在dos或命令行下面netstopmssqlserver停止服务,netstartmssqlserver启动服务,也是一种快捷的方法)。
五、访问服务器权限问题
客户端每次重启后无法连接数据库,通过网上邻居访问服务器一次,才能连接成功。
这个是windows网络访问的问题,在服务器上启用guest用户,并在服务器上建个user用户,在客户端也建立相同名称的user用户,密码也相同,客户端用建立的user用户登录。
六、连接动态库问题
程序访问SQL数据库必须的动态库
DBNETLIB.DLL网络连接库
ntwdblib.dll连接MSSQL数据库的驱动库
dbnmpntw.dll命名管道连接数据库使用的DLL
dbmssocn.dllTCP/IP连接数据库使用的DLL
DBNETLIB.DLL一般放在system32系统目录下,后三者可放在system32系统目录下也可放在exe执行程序目录下。
ntwdblib.dll有多个版本,典型的是1998.11.13.0(win98版)和2000.80.194.0(win2000版),win98系统下必须使用98版动态库,win2000或以上windows系统一般两个版本的动态库均支持,但有些系统也存在异常无法连接,请尝试替换ntwdblib.dll的两个版本文件。
七、配置连接
SQLServer客户端配置连接工具。
客户端没有安装SQLServer,可从服务器system32下复制windbver.exe,粘贴到客户端system32下。
在开始->
运行输入windbver->
确定(图七)
(图七)
在NetLibrary页面中设置DefaultNetword,一般可设置为NamedPipes、TCP/IPSockets、DBNETLIB.DLL,请尝试切换三种连接方式(图八、九)
(图八)(图九)
配置的过程就是更改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo中的信息。
"
DSQUERY"
="
DBMSSOCN"
//连接方式TCP/IPSockets
"
DBNMPNTW"
//连接方式NamedPipes
"
DBNETLIB"
//连接方式DBNETLIB.DLL
八、操作系统问题
如果工作站平常连接都正常,突然某一时刻都连接不正常了,有时重新启动服务器后,所有的系统就能正常使用了,请考虑服务器操作系统或SQLServer的问题,特别是如果您的服务器曾经被感染过病毒,或频繁出现过断电情况等。
请重新安装SQLServer或操作系统。
如果只是某一工作站无法连接,请安装SQLServer客户端工具或重装操作系统。