【发布时间】:2016-07-02 02:28:16
【问题描述】:
我使用 XAMPP。我需要建立从 PHP 代码到我的 MS SQL Server 的连接。因此,我从here 安装了sqlsrv 驱动程序。根据phpinfo(),它正在正确加载:
我收到此错误消息:
无法建立连接。数组 ( [0] => 数组 ( [0] => IMSSP [SQLSTATE] => IMSSP => -49 [代码] => -49 => 这个 扩展需要 Microsoft ODBC Driver 11 for SQL Server。使用权 以下 URL 下载 ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [消息] => 这个 扩展需要 Microsoft ODBC Driver 11 for SQL Server。使用权 以下 URL 下载 ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) => 数组 ( [0] => IM002 [SQLSTATE] => IM002 => 0 [代码] => 0 => [Microsoft][ODBC Driver Manager] 数据源名称未找到且无 指定的默认驱动程序 [消息] => [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序))
链接指向 x86 客户端,但我只能安装 64 位版本,我是从
https://www.microsoft.com/en-us/download/details.aspx?id=29065
我还是遇到同样的错误。
规格:
操作系统:Windows Server 2012 64 位
PHP:5.6.19
代码就这么简单:
$serverName = "servername";
$connectionInfo = array( "Database"=>"DBname", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
现在呢?我应该在任何PHP/Apache conf 文件中注册已安装的 SQL Native Client 吗?
【问题讨论】:
-
什么版本的
sqlsrv驱动程序? -
@ImClarky 兼容 PHP 5.6 ->
php_sqlsrv_56_ts.dll -
SQL Server 2012 功能包似乎没有附带 ODBC 驱动程序 11 - 这就是它所说的连接错误中缺少的内容。可以从这里下载:microsoft.com/en-us/download/details.aspx?id=36434
-
@ImClarky 看来你是对的。将此评论复制到答案中,以便我接受。谢谢。
标签: php sql-server xampp