错误信息:
Connection could not be established.
Array ( [0] => Array ( [0] => IM003 [SQLSTATE] => IM003 [1] => 160 [code] => 160 [2] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 [message] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 ) ) 以下是php网站conn.php的测试代码:<?php
$serverName = "192.168.1.103,1433";
$connectionInfo = array("Database"=>"test","UID"=>"sa","PWD"=>"123");
$conn = sqlsrv_connect($serverName, $connectionInfo);
//$conn = mssql_connect('192.168.1.103,1433', 'sa', '123');if($conn) {
echo "Connection established.<br>";
} else {
echo "Connection could not be established.<br>";
die(print_r(sqlsrv_errors(), true));
exit();
} $tsql="select UserID,[RegUserName] from UserInfo order by UserID desc";
$stmt = sqlsrv_query($conn,$tsql);
echo "<ul>";
while($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC))
{
echo '<li>'.$row["RegUserName"].'</li>';
}
echo "<ul>";
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
配置是:win2003+IIS6+PHP5.3.28+Sql2005我用C++测试数据连接,是正常的,可以连接。php sql 2005
Connection could not be established.
Array ( [0] => Array ( [0] => IM003 [SQLSTATE] => IM003 [1] => 160 [code] => 160 [2] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 [message] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 ) ) 以下是php网站conn.php的测试代码:<?php
$serverName = "192.168.1.103,1433";
$connectionInfo = array("Database"=>"test","UID"=>"sa","PWD"=>"123");
$conn = sqlsrv_connect($serverName, $connectionInfo);
//$conn = mssql_connect('192.168.1.103,1433', 'sa', '123');if($conn) {
echo "Connection established.<br>";
} else {
echo "Connection could not be established.<br>";
die(print_r(sqlsrv_errors(), true));
exit();
} $tsql="select UserID,[RegUserName] from UserInfo order by UserID desc";
$stmt = sqlsrv_query($conn,$tsql);
echo "<ul>";
while($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC))
{
echo '<li>'.$row["RegUserName"].'</li>';
}
echo "<ul>";
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
配置是:win2003+IIS6+PHP5.3.28+Sql2005我用C++测试数据连接,是正常的,可以连接。php sql 2005
resource sqlsrv_connect ( string $serverName [, array $connectionInfo ] )
serverName
The name of the server to which a connection is established. To connect to a specific instance, follow the server name with a forward slash and the instance name (e.g. serverName\sqlexpress).
建立了连接到的服务器的名称。要连接到一个特定的实例,用一个正斜杠和实例名(例如SERVERNAME\ SQLEXPRESS的),按照服务器名称。
$conn = mssql_connect('192.168.1.103,1433', 'sa', '123');
改成
$conn = mssql_connect('192.168.1.103:1433', 'sa', '123');
也不行,报错:
Fatal error: Call to undefined function mssql_connect() in D:\localhost\htdocs\mssql.php on line 5
$serverName = "192.168.1.103,1433";
这句改成:
$serverName = "192.168.1.103:1433";
一般为 sql server 所在计算机的机器名
若是本机,可写作 (local)
Connection could not be established.Array ( [0] => Array ( [0] => IM003 [SQLSTATE] => IM003 [1] => 160 [code] => 160 [2] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 [message] => 由于系统错误 5 (SQL Server Native Client 10.0),指定驱动程序无法加载。 ) )
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll仔细查了环境变量和C:\WINDOWS\system32\inetsrv目录下的文件以及内容都没问题。也查了IIS6里的php配置也是没问题的。就是加载不了sql的驱动的,无语中。
端口好像是可以忽略的。
为什么说应该呢?
由于我第一次配置php环境,对于楼上两位说的概念略不懂。
但是我在php.ini里的下面这句代码:
; Be sure to appropriately set the extension_dir directive.;*(未打开的)
*(打开的)
extension=php_pdo_sqlsrv_53_ts_vc9.dll
extension=php_sqlsrv_53_nts_vc9.dll
后面加上了这两句,而ext扩展文件里也有这两个文件。
extension=php_sqlsrv_53_nts_vc9.dll
打错了,
我写上的是:
extension=php_sqlsrv_53_ts_vc9.dll
纠正一下,以免误会。
谢谢楼上各位。以后再看到这个问题的朋友,不要问我怎么决的?因为我也不知道,我就按网上之前做过的步骤,把电脑系统重装,重做一遍环境配置,就好了。
可能是上天看我连续奋斗了三天三夜,熬夜通宵,有点看不下去了吧,所以让我用PHP5.2.17的sqlsrv_*系列函数连上了SQL2005。不说了,散分。