我最近将我的Web应用程序从Windows Server迁移到Linux Server,在这样做时,我不得不做出很多改动......其中一个就是我与MSSQL服务器通信的方式。 / p>
我正在使用Windows PDO_SQLSRV驱动程序与数据库对话,但我现在正在使用带有Freetds等的dblib驱动程序。除了多个记录集和PDOStatement::nextRowset()
之外,它应该可以正常工作。当我尝试执行此功能时,我得到:
PDOStatement :: nextRowset():SQLSTATE [IM001]:驱动程序不支持此功能:驱动程序不支持/ somefile /
中的多个行集
我搜索过谷歌这个错误,虽然我能够找到潜在的解决方案(可以追溯到2006年),但似乎没有这些解决方案可用。
我查看了this,但无法实施解决方案,因为它没有说出它的位置。
如果还不清楚的话,我需要一种在Linux上通过PHP从MSSQL数据库返回多个记录集的方法,而不会得到我目前收到的错误......这可能吗?
答案 0 :(得分:1)
它似乎在Developer Todo列表中:
这是可行的。本机mssql / dblib扩展确实支持它 特征。我只是没有时间为pdo_dblib编写代码。
谢
如果您考虑在本机库中编写部分脚本,[请在此处查看] [2]
修改强>
事实证明,我链接的thread
已经过时了,而且此后该错误已得到修复。
解决方案是将PHP升级到更新版本。
答案 1 :(得分:1)
事实证明,此问题已在以后的某个PHP版本中修复。我不确切地知道哪个版本,但我现在使用PHP版本5.5.18并且nextRowset()
正在运行它。