DB服务器是192.168.0.1 应用服务器是192.168.1.1
测试用应用服务器是192.168.0.2
dll用的是微软提供的【php_sqlsrv_ts.dll】
source如下$connectionInfo = array( "Database"=>DB_DATABASE,"UID"=>DB_SERVER_USERNAME,"PWD"=>DB_SERVER_PASSWORD);
$conn = sqlsrv_connect( DB_SERVER, $connectionInfo);
在应用服务器连接DB服务器报错,$conn是False,
但是从测试用应用服务器连接DB服务器,一切正常。
用ping,DB服务器到应用服务器,应用服务器到DB服务器都可以ping通。
在应用服务器用telnet 192.168.0.1 1433也正常。
基本可以排除网络的问题。各位高手帮看下为什么会出现这个情况
测试用应用服务器是192.168.0.2
dll用的是微软提供的【php_sqlsrv_ts.dll】
source如下$connectionInfo = array( "Database"=>DB_DATABASE,"UID"=>DB_SERVER_USERNAME,"PWD"=>DB_SERVER_PASSWORD);
$conn = sqlsrv_connect( DB_SERVER, $connectionInfo);
在应用服务器连接DB服务器报错,$conn是False,
但是从测试用应用服务器连接DB服务器,一切正常。
用ping,DB服务器到应用服务器,应用服务器到DB服务器都可以ping通。
在应用服务器用telnet 192.168.0.1 1433也正常。
基本可以排除网络的问题。各位高手帮看下为什么会出现这个情况
$conn = sqlsrv_connect( DB_SERVER, $connectionInfo);
这句coding没有报错,而是在sql检索的时候报出的错误
错误信息:
[08-Sep-2009 17:19:15] PHP Warning: sqlsrv_query() expects parameter 1 to be resource, boolean given in C:\wamp\www\test\common\login.php on line 52
在$conn = sqlsrv_connect( DB_SERVER, $connectionInfo);
这句coding下面用
echo"<pre>";
var_dump($conn);
打印出的值是False。
我copy过来的log信息。
coding是这样的 $searchSql ="select * from user ";
$searchSql.="where user_cd = '$login_userCd' ";
$searchSql.="and password='$login_pwd' ";
$searchSql.="and delete_flg = 0 ";
$result = sqlsrv_query($conn, $searchSql);
发生这样的问题是什么原因。source肯定是正常的。
因为在测试应用服务器已经跑过了
2、sql server 2005 默认是不暴露在网络中的,又要做网络应用需要做相关设置,你做了吗?当满足上述条件后,使用 php_mssql.dll 扩展就已经可以了。
至于 php_sqlsrv_ts.dll 扩展,由于没有使用过,就不好说什么了
关于1 : 2个服务器的网段确实不在一个里。php里应用服务器和db服务器必须是一个网段里的吗?
关于2 : remote设置已经做过了。
文件名是sqlncli.msi。