【发布时间】:2013-03-11 18:27:17
【问题描述】:
如果存在的话,在非 Windows 操作系统上将 ZF2 与 MS SQL Server 一起使用的规范方法是什么?
从documentation得知,官方只支持Sqlsrv驱动,只支持Windows平台。
在 ZF1 中,我们使用了Pdo_Mssql 适配器并将pdoType 指定为dblib。我找不到任何关于在 ZF2 中做类似事情的参考资料。
显然有前一段时间有一个 Pdo\Mssql 驱动程序在 refactoring 主要期间被删除,但我没有看到当前记录的使用 Pdo_Dblib 的方式。
根据上面的适配器文档,您可以将适配器配置中的驱动程序设置为Pdo=OtherPdoDriver,但没有记录此用法的示例。这是否意味着您可以使用Pdo=Pdo_Dblib 或Pdo=dblib 并且它会自动工作?
我发现传递对 PDO ODBC 驱动程序的引用,这将是一个可用的替代方案,但找不到任何文档或代码引用。
【问题讨论】:
-
有
Zend\Db\Adapter\Driver\Sqlsrv,sqlsrv 是一个 php 扩展(由 microsoft 提供),我没有任何要测试的东西,但将两者结合起来应该可以提供解决方案。 php sqlsrv 手册页 -> php.net/manual/en/book.sqlsrv.php github zf2 驱动代码 -> github.com/zendframework/zf2/blob/master/library/Zend/Db/… -
Crisp,正如我在问题中指出的那样,正如 nofreeusername 在他提供的答案中指出的那样,Sqlsrv 仅适用于 Windows 平台。仅供参考,如果您建议答案,请这样做而不是发表评论。这样如果可行,我可以接受你的回答。
-
感谢您消除了我对 sqlsrv php 扩展的明显误解,我误以为它是看似已失效的 mssql 的替代品,但没有意识到它与平台有关:- / 至于不作为答案发布,除非我有理由确定它有效,否则我不会提供答案,但不幸的是,正如我所说,我无法测试,这就是为什么我选择只留下评论暗示可能(或不)解决方案。
标签: sql-server zend-framework2 zend-db