繁体   English   中英

PHP-可以使用sqlsrv_connect连接到SQL Server 2008R2,但不能使用PDO连接-为什么?

[英]PHP - Can Connect to SQL Server 2008R2 with sqlsrv_connect but not with PDO - why?

我一直在尝试使用以下语法在PHP中使用PDO连接到SQL Server 2008R2数据库:

$conn = new PDO('sqlsrv:Server=xxxxxx;Database=xxxxx', 'xxxxx', 'xxxxx');

但每次尝试运行查询时,都会收到消息“ SQLSTATE [08001]”的“ PDOException异常”:[Microsoft] [SQL Server Native Client 11.0]命名管道提供程序:无法打开与SQL Server [2的连接]。'“

但是当我尝试使用

$serverName = "xxxxx";
$connectionInfo = array( "UID"=>"xxxx",
                "PWD"=>"xxxx",
                "Database"=>"xxxxx");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

查询成功。

我的PHPinfo()表明PDO驱动程序中已启用sqlsrv,而sqlsrv_connect正常工作似乎表明这不是防火墙或端口开放问题。 两种情况下,用户名和密码相同。

谁能帮我建议在哪里可以使PDO工作,因为我更喜欢用这种方法来保持一致性?

AAAARGHH,这是我的PDO语句中的语法错误。 将所有内容更改为小写,并且可以正常工作。 抱歉,StackOverflow!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM