Warning: mssql_connect(): Unable to connect to server解决办法

2009年10月5日 | 分类: PHP | 标签: ,

今天要用PHP去连接MSSQL2000,可惜出错,网上出现这样的错误的人真多,可是给出的解答较少,我整理下发出来。
Warning: mssql_connect(): Unable to connect to server:解决办法:
一、第一个要检查的是MSSQL2000的1433端口有没有起动。

进入DOS(开始菜单-运行-输入cmd),转入 netstat -ano 回车
看看TCP 后面有没有1433,如果有就不管了,如果没有就打开MSSQL2000的企业管理器—工具—-SQL查询分析器,
输入 select @@version 按F5
查看输出的结果如:
Microsoft SQL Server  2000 – 8.00.2039 (Intel X86)   May  3 2005 23:18:38   Copyright (c) 1988-2003 Microsoft Corporation  Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)

如前面的Microsoft SQL Server  2000 – 8.00.2039,如果这样的就不管了,如果不是的,那就去打补丁吧。
网上都说打SP3的补丁,我是直接打的SP4的补丁,给出下载地址:
http://www.xdowns.com/soft/38/110/2006/Soft_34181.html
或者
http://www.crsky.com/soft/5814.html
下载回来后,解压,进入点出setup.bat安装。完成后重启电脑,再按上面的方法,看看检查1433端口起动没有。
至此,第一步保证1433正在被侦听。

二、PHP连接,mssql_connect();其中用PHP连接MSSQL的DLL文件可能版本低了,所以你要用一个新的DLL文件替换。ntwdblib.dll,我用的是XAMPP v1.70版本的,里面的这个文件的版本低,只能连接MSSQL 7.0所以我替换了新的,路径是xamppapachebin,如果不放心可以同样把这个文件也替换到xamppphp下面。文章结尾处提供下载。

三、重启APACHE,试试可以连接了吧,到些我是已经正常连接了。当然开启PHP的extension=php_mssql.dll扩展肯定是需要的,因为用的是XAMPP默认开启了。

四、补充:如果PHP这边已经开启了扩展,DLL文件也换了新的,MSSQL那边如果1433打了补丁还是没有被侦听,只好再找解决办法了,看看这篇文章:MSSQL2000数据库1433端口无法连接问题解决方案大全(http://www.zoomla.cn/Content.aspx?ItemID=394),如果1433已经在侦听了,那就检查用户名密码吧……

下载ntwdblib

目前还没有任何评论.