问题
我最近将我的 Web 应用程序从 Windows 服务器迁移到 Linux 服务器,为此,我不得不做出很多改变......其中之一就是我与 MSSQL 服务器通信的方式。
我之前使用 Windows PDO_SQLSRV 驱动程序与数据库对话,但现在我将 dblib 驱动程序与 Freetds 等一起使用。除了多个记录集和 PDOStatement::nextRowset()
之外,一切正常.当我尝试执行此功能时,我得到:
PDOStatement::nextRowset(): SQLSTATE[IM001]: Driver does not support this function: driver does not support multiple rowsets in /somefile/
我尝试过的
我在 Google 上搜索了这个错误,虽然我能够找到可能的解决方案(可追溯到 2006 年),但似乎这些解决方案都没有。
我看了this但无法实现该解决方案,因为它没有说明它在哪里。
我的问题
如果还不清楚,我需要一种在 Linux 上通过 PHP 从 MSSQL 数据库返回多个记录集的方法,而不会出现我当前收到的错误...这可能吗?
最佳答案
它似乎在 Developer Todo 列表中:
It Is doable. The native mssql/dblib extension does support that features. I just have'nt had the time to code it for pdo_dblib.
Frank
如果您考虑在 native 库中编写部分脚本,[检查此处][2]
编辑:
事实证明,我链接到的thread
是旧的,此后错误已得到修复。
解决方案是将 PHP 升级到更新的版本。
关于php - PDOStatement::nextRowset() 不适用于 dblib 和 MSSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27424573/