发布网友 发布时间:2022-04-24 21:09
共1个回答
热心网友 时间:2022-04-09 14:04
windows下面nbsp;nbsp;要安装mssql或者,mssql客户端nbsp;nbsp;安装以后检查在你的系统目录下面是不是有ntwdblib.dll文件,如果有请继续(一般安装了mssql都会有);nbsp;nbsp;然后启动mssql数据库服务nbsp;nbsp;1:在php.ini文件里设置如下,找到nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;;extension=php_mssql.dllnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;把前面的分号去掉。2:找到extension_dirnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;=nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;d:extensionnbsp;nbsp;你的php.ini里面可能不是d:extensionnbsp;nbsp;改成在php安装目录下面的extensions目录下面的php_mssql.dll,所在的路径,如果你没有把它移动到其他地方(假设你的php安装路径是d:php)nbsp;nbsp;就改成extension_dir=d:phpextensionsnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 3:把ntwdblib.dll拷贝到c:winntsystem32目录下。 ntwdblib.dll的主要作用是提供sqlnbsp;server连接服务。nbsp; 我用的php版本是4.3.9,在安装它的服器的nbsp;windows/system32/nbsp;下我查到ntwdblib.dll文件的版本是2000.2.8.0nbsp;,这个版本支持的是sqlnbsp;servernbsp;7.0,nbsp;因为安装PHP时会把dlls下面的所有文件覆盖到系统nbsp;目录下,所以当我用它去连接nbsp;sqlnbsp;servernbsp;2000nbsp;的时候当然会是无法连接了。nbsp; 后来我在一台正常安装sqlnbsp;servernbsp;2000nbsp;的服务器上查到nbsp;ntwdblib.dll的版本是nbsp;2000.80.2039.0,sql2000的ntdblib.dll文件拷贝过来覆盖到本机的windows/system32下,重启服务器后,一切正常。nbsp; 补充:如果数据库名的开头是数字时也会提示无法打开,这时要做的很简单,把数据库的名字用中括号nbsp;[nbsp;]nbsp;括起来就搞定了,如nbsp;123bBSnbsp;改写成nbsp;[123bBS]就没有问题了,另外如果你的数据库名字与sqlnbsp;server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。nbsp; 然后重新启动web服务器,假设你的mssql安装在本机上就可以用下面的测试nbsp;。nbsp;lt;?phpnbsp;nbsp;$con=mssql_connect(“localhost“,“user“,“password“);nbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;“lt;brgt;连接成功“;nbsp;nbsp;elsenbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;“连接失败“;nbsp;nbsp;?gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 祝你好运nbsp;nbsp;可以把localhost改成你安装mssql的机器名称nbsp;。