![](/img/trans.png)
[英]Connecting PDO to MS SQL Server 2008 R2 Named Pipes Provider: Could not open a connection to SQL Server [53]
[英]PDO connection to MS SQL Server 2008
我曾经在VM中完成过一次此操作,但是,我需要创建VM的第二个实例,并且试图连接到MS SQL Server。 目前,我已经安装了php-5.3.6-nts-Win32-VC9-x86
版本的php。 我已经正确配置了php.ini
并运行了phpinfo()
,可以验证是否已正确安装了sqlsqrv PDO驱动程序。 我将其与IIS 7结合使用,并且已启动并运行了Web服务器。 我的index.php
文件中包含以下行
$conn = new PDO("sqlsrv:server=$serverName; Database=classReg");
如果成功建立数据库连接,我还可以提供以下反馈。
if($conn) {
echo "Connection established. </br></br>";
} else {
echo "Connection could not be established. </br>";
die(print_r(sqlsrv_errors(), true));
}
问题是,我没有从$ conn变量中得到任何东西。 我试图回显该变量,但没有得到任何反馈。
FWIW我的php.ini
文件在文件末尾读取了这三行
[PHP_MS_SQL_PDO]
extension=php_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll
关于我可能缺少的任何想法吗?
通过执行以下操作,我得以解决此问题:
IUSR
添加到数据库登录组。 完成这两件事后,我修改了以下代码行以连接到数据库。
$conn = new PDO("sqlsrv:server=$serverName; Database=classReg");
该行现在显示为:
$conn = new PDO("sqlsrv:server=$serverName; Database=classReg", "<user>", "<password>");
帮助我的一件事是查看服务器的日志。 我遇到了一个问题,因为我没有从原始代码中的if语句获得任何输出。 但是我能够查看来自SQL Server的日志,并且能够看到正在发生的事情。 日志位于Management -> SQL Server Logs
。 完成这两项更改后,我就可以成功连接到数据库而没有任何麻烦。 希望这对遇到此类问题的其他人有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.