PDOStatement :: nextRowset()不使用dblib和MSSQL

时间:2014-12-11 13:56:52

标签: php sql-server linux pdo odbc

问题

我最近将我的Web应用程序从Windows Server迁移到Linux Server,在这样做时,我不得不做出很多改动......其中一个就是我与MSSQL服务器通信的方式。 / p>

我正在使用Windows PDO_SQLSRV驱动程序与数据库对话,但我现在正在使用带有Freetds等的dblib驱动程序。除了多个记录集和PDOStatement::nextRowset()之外,它应该可以正常工作。当我尝试执行此功能时,我得到:

  

PDOStatement :: nextRowset():SQLSTATE [IM001]:驱动程序不支持此功能:驱动程序不支持/ somefile /

中的多个行集

我尝试了什么

我搜索过谷歌这个错误,虽然我能够找到潜在的解决方案(可以追溯到2006年),但似乎没有这些解决方案可用。

我查看了this,但无法实施解决方案,因为它没有说出它的位置。

我的问题

如果还不清楚的话,我需要一种在Linux上通过PHP从MSSQL数据库返回多个记录集的方法,而不会得到我目前收到的错误......这可能吗?

2 个答案:

答案 0 :(得分:1)

Read this thread

它似乎在Developer Todo列表中:

  

这是可行的。本机mssql / dblib扩展确实支持它   特征。我只是没有时间为pdo_dblib编写代码。

     

如果您考虑在本机库中编写部分脚本,[请在此处查看] [2]


修改

事实证明,我链接的thread已经过时了,而且此后该错误已得到修复。

解决方案是将PHP升级到更新版本。

答案 1 :(得分:1)

事实证明,此问题已在以后的某个PHP版本中修复。我不确切地知道哪个版本,但我现在使用PHP版本5.5.18并且nextRowset()正在运行它。