php访问mssql 2005数据库,sqlsrv驱动程序

时间:2015-01-13 21:10:38

标签: php sql-server windows sql-server-2005

我正在尝试使用Microsoft提供的sqlsrv驱动程序访问mssql 2005数据库。我已尝试从3.1到2.0的每个驱动程序版本,安装不同版本的XAMPP与不同版本的PHP安装。

  • 版本3.1 = php版本5.4.7 错误:
  

此扩展程序需要Microsoft SQL Server 2012 Native Client。   访问以下URL以下载Microsoft SQL Server 2012   用于x86的Native Client ODBC驱动程序

  • 版本3.0 = php版本5.3.1错误:
  

此扩展程序需要Microsoft SQL Server 2008 Native   客户端(SP1或更高版本)或Microsoft SQL Server 2008 R2 Native   客户端ODBC驱动程序与SQL Server通信。这些都不是   ODBC驱动程序当前已安装。访问以下URL   下载Microsoft SQL Server 2008 R2 Native Client ODBC驱动程序   对于x86:

  • 版本2.0 = php版本5.2.1和5.2.4
  

Php驱动程序无法识别,不会出现在phpinfo()中。

我认为扩展应support所有版本的SQL Server 2005及更高版本......

我安装了SQL Server 2012 Native Client和SQL Server 2008 Native Client(SP3)。 根据{{​​3}}文章,我可以测试到SQL Server的ODBC连接。

在命令提示符下输入odbcping返回:

  

' ODBCPING'不被视为内部或外部命令......

我检查了ODBC数据源管理器,发现驱动程序选项卡中列出了SQL Server的ODBC驱动程序11。

enter image description here

有关我可能遗失的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

您正在混淆两件事:MS SQL Server 2005的ODBC和PHP驱动程序。

  • 如果安装SQLDRV 3.X,则不使用ODBC。
  • 如果使用ODBC,则可能需要与SQLDRV不同的PHP驱动程序。

我还花了几个小时与Studio Express建立PHP连接到MS SQL Server 2003,2005,2008。我使用通过Microsoft提供的SQLDRV驱动程序安装的 pdo_sqldrv 驱动程序。安装PHP驱动程序很容易。一旦在phpinfo()中看到 pdo_sqldrv ,就完成了PHP驱动程序。困难的是第二部分 - 正确设置MSSQL环境以允许PHP进行连接。我做了以下步骤:

  • 已下载&免费安装MSSQL Studio Express 2005(或2008,工作正常)
  • 安装或升级到dotNetFx40Setup.exe
  • 安装了msxml6.msi(我认为这仅适用于2005版)
  • 安装了MSSQL Native Client
  • 登录工作室并仅为具有读/写权限的PHP创建新用户
  • 启用管道和其他连接资源
  • 找出正确的连接字符串“sqlsrv:server = PCHOME \\ SQLEXPRESS; database = eshop”

然后它起作用了,但绝对不容易设置。祝你好运。