安装了SQLSRV驱动程序,但在使用PHP连接到MSSQL 2008 R2 db时显示错误

时间:2013-10-03 11:43:31

标签: php sql-server-2008 sqlsrv

我有一台运行Windows 7 Professional,MSSQL 2008 R2和IIS 7.5的笔记本电脑。系统的所有应用程序都在c#和php中成功运行。 现在我想用Windows 7 Ultimate在第二台笔记本电脑上传输我的所有文件和应用程序。 但由于某种原因,即使phpinfo()显示已安装sqlsrv ,我也无法成功连接到我的数据库,而我正在使用完全相同的代码只更改数据库的连接字符串。

我有MSSQL管理工作室v 10.50.2500
IIS v 7.5.7600.16385
PHP v 5.5.3
适用于php 5.5的SQLSRV驱动程序(它不是官方的MS版本,但它很受欢迎,适用于我以前的笔记本电脑)

我收到的错误如下:


    Array (
    [0] => Array (
                 [0] => IMSSP [SQLSTATE] => IMSSP 
                      [1] => -49 [code] => -49 
                      [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 
                      [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 
                       ) 
          [1] => Array (
                       [0] => IM002 [SQLSTATE] => IM002 
                       [1] => 0 [code] => 0 
                       [2] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 
                       [message] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 
                       )
          )

我的PHP代码如下(我知道它可以在第一台笔记本电脑上运行):


    `$serverName = "DELL-PC"; //serverName\instanceName`
    ``
    `$connectionInfo = array( "Database"=>"amlTest");`
    `$conn = sqlsrv_connect( $serverName, $connectionInfo);`

我无法弄清楚问题是什么或我错过了哪里? 我真的需要这个工作!!并且花了太多时间重新安装我的所有软件并尝试所有的php版本 我希望它不是因为Windows版本的差异

此外,对不起,如果我格式化我的问题,因为这是我的第一篇文章。

1 个答案:

答案 0 :(得分:1)

您是否安装了功能包?

http://microsoft.com/en-us/download/details.aspx?id=29065

错误提示告诉我们您需要2012版本的MS SQL Server才能使用。还要确保正确设置了服务器权限。