首页 电脑 电脑学堂 查看内容

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server

2011-2-15 14:26 668 0

摘要:   1.确定SQL装的时候用的是混合认证模式,或SQL验证模式  2.确定SQL2000装好后已打上SP4补丁  3.把“localhost”换成你的计算机名或是“127.0.0.1”  4.在PHP...
关键词: NTWDBLIB mssql Server DLL 端口 文件 口号 本机 SQL 版本

  1.确定SQL装的时候用的是混合认证模式,或SQL验证模式  2.确定SQL2000装好后已打上SP4补丁  3.把“localhost”换成你的计算机名或是“127.0.0.1”  4.在PHP.ini文件里改mssql.secure_connection = On  5.查看本地MSSQL端口是不是1433,并且本机端口是否开放状态,如果端口变了相应服务地址后加“,端口号”,注意是逗号,不是冒号。  PHP连MSSQL的问题(NTWDBLIB.DLL在作怪)  而同事就可以连,他比较了ntwdblib.dll这个文件,版本都是2000.2.8.0。唯一不同的是他的机子装了MSSQL,怀疑是这个原因。  搜索了下,发现确实是这个原因。也有不少人碰到装了MSSQL就可以连远程MSSQL,没装则不行。  试验了下,发现原因还是在于NTWDBLIB.DLL这个文件。我本机是php5自带的,版本为2000.2.8.0,他也是。  在MSSQL光盘中搜索这个文件,找到NTWDBLIB.DLL,版本是2000.80.194.0。  将这个文件,Copy到php安装目录和c:\windows\system32目录下,停掉IIS或Apache。  一个Case需要使用PHP5连接MS SQL Server 2005,找了些资料自己琢磨了下,搞定了,呵呵  步骤:  1. 首先按通常做法配置好PHP5连接MS SQL Server  2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip  3. 覆盖 apache2.2.6\bin twdblib.dll  4. 覆盖 php5.2.5 twdblib.dll  5. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols  6. 允许命名管道 "named pipes" 和 "tcp/ip"  7. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"  8. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433  9. 重启 SQL Server、Apache和PHP  使用以下方式连接MS SQL Server 2005:  mssql_connect('localhost,1433', USERNAME, PASSWORD);  另请注意:  如果更改了默认的1433端口号,则IP地址后面加端口号,用,号隔开,不是:号,如  $linkId = mssql_connect('IP地址,端口号','用户名','密码');  其实直接把php5自带的那个ntwdblib.dll考到system32(可以尝试一下)
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部