sqlsrv连接字符串无效[87]

时间:2014-09-02 15:55:22

标签: php sql sql-server wamp

设置:

  • Wamp Server
  • PHP 5.5.12
  • Apache 2.4.9
  • MS SQL Server 2012

已经完成:

  • 安装(非官方) php_sqlsrv_55_ts php_pdo_sqlsrv_55_ts 并确认他们正在通过phpinfo()sqlsrv_link
  • 工作
  • 我已确保在SQL Configuration Manager中启用了TCP / IP
  • 我已在SQL Management Studio中测试过凭据并通过管理工具中的ODBC
  • 进行了测试
  • IIS已停用

此外,我确实遇到了SQL报告服务端口80的问题。这给我一个Apache问题,因此我指示SQL Reporting Service使用端口8081。

<?php
$server = "computer_name\MSSQLSERVER";
$user = "sa";
$pass = "password";
$db = "pcm";
$connInfo = array("Database"=>$db, "UID"=>$user, "PWD"=>$pass);
$conn = sqlsrv_connect($server, $connInfo) or die( print_r( sqlsrv_errors(), true));
?>

1 个答案:

答案 0 :(得分:1)

如果您使用PDO扩展,则必须使用PDO连接而不是sqlsrv_connect()功能。 Microsoft在尝试通过PDO扩展程序进行连接时不支持您提供的UIDPWD密钥。试试这个:

$conn = new PDO('sqlsrv:Server = ' . $server . '; Database = ' . $db, $user, $pass);

http://php.net/manual/en/ref.pdo-sqlsrv.connection.php