我使用XAMPP。我需要建立从PHP代码到MS SQL Server的连接。因此,我从here安装了sqlsrv
驱动程序。根据{{1}}它正确加载:
我收到此错误消息:
无法建立连接。数组([0] =>数组([0] => IMSSP [SQLSTATE] => IMSSP => -49 [code] => -49 =>这个 扩展需要Microsoft ODBC驱动程序11 for SQL Server。访问 以下URL为SQL Server下载ODBC驱动程序11 x86:http://go.microsoft.com/fwlink/?LinkId=163712 [message] =>这个 扩展需要Microsoft ODBC驱动程序11 for SQL Server。访问 以下URL为SQL Server下载ODBC驱动程序11 x86:http://go.microsoft.com/fwlink/?LinkId=163712)=>阵列( [0] => IM002 [SQLSTATE] => IM002 => 0 [code] => 0 => [Microsoft] [ODBC驱动程序管理器]未找到数据源名称,没有 默认驱动程序指定[message] => [Microsoft] [ODBC驱动程序管理器] 未找到数据源名称且未指定默认驱动程序))
链接指向x86客户端,但我只能安装64位版本,我这样做是从
https://www.microsoft.com/en-us/download/details.aspx?id=29065
我仍然得到同样的错误。
规格:
操作系统:Windows Server 2012 64位
PHP:5.6.19
代码很简单:
phpinfo()
现在怎样?我应该在任何$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));
}
conf文件中注册已安装的SQL Native Client吗?
答案 0 :(得分:1)
根据this blog,Microsoft的SQL Server 2012 Feature Pack不包含SQL Server的ODBC驱动程序11;这是sqlsrv
扩展3.1及更高版本所必需的。
答案 1 :(得分:0)
我遇到了同样的问题...
使用phpinfo()检查您使用的php版本,然后下载与您的php版本相关的扩展名。然后也转到你的php.ini文件并添加这样的文件
extension=<extension>.dll
然后我总是缺少一个至关重要的步骤,并强调我需要下载下面的链接上找到的驱动程序...或者你的PHP脚本不会连接到您的SQL Server ....下载并安装此在实际安装了SQL Server的计算机上...如果是远程服务器,则必须在远程服务器上安装...如果它在本地计算机上,则必须在本地计算机上安装... < / p>
https://www.microsoft.com/en-us/download/details.aspx?id=36434
Can't connect to SQL Server from PHP
然后你应该好好去......