我目前正在使用 Zend Framework (2) 在 PHP(5.3) 上开发应用程序。客户最近宣布目标数据库将是 MS SQL Server。
所以..我检查了几个数据库适配器选项:
PDO_MSSQL似乎已被弃用。
SQLSRV 仅适用于 Windows 服务器?
PDO_ODBC似乎是不同操作系统支持的正确选择。
任何建议在 Zend 中使用什么是正确的方法都将不胜感激。
我目前正在使用 Zend Framework (2) 在 PHP(5.3) 上开发应用程序。客户最近宣布目标数据库将是 MS SQL Server。
所以..我检查了几个数据库适配器选项:
PDO_MSSQL似乎已被弃用。
SQLSRV 仅适用于 Windows 服务器?
PDO_ODBC似乎是不同操作系统支持的正确选择。
任何建议在 Zend 中使用什么是正确的方法都将不胜感激。
我曾经使用过http://php.net/manual/en/book.mssql.php并围绕它编写了我自己的 Zend Wrapper。这不是最简单的方法,但我想控制 MSSQL 和 MySQL 之间的所有细微差别。
但是以下设置不起作用吗?
resources.db.adapter = "sqlsrv"
resources.db.host = "localhost\SQLEXPRESS"
resources.db.dbname = "DatabaseName"
resources.db.isDefaultTableAdapter = true
resources.db.driver_options.ReturnDatesAsStrings = true
前段时间看到这样的提议。
顺便说一句,我们正在谈论的是 Zend Framework 1 还是 2?
将 freetds 与 pdo dblib 一起使用。我有一篇博客文章写了如何使用它(在 ZF1 中): http: //featurebug.blogspot.de/2011/04/linux-php-and-zend-framework-and-ms-sql.html
PS 没有适用于 linux/Mac OS X 的 sqlsrv
SQLSRV 仅适用于 Windows 服务器?
当然,PHP 包装库仅适用于 Windows。
PDO_MSSQL 似乎已被弃用。
你的意思是PDO_SQLSRV。你从哪里得到这些信息?您可以在PDO_SQLSRV中找到所需的信息
PDO_ODBC 似乎是不同操作系统支持的正确选择。
是的,请参阅适用于 Linux 的PDO_ODBC和ODBC 驱动程序 1.0
任何建议在 Zend 中使用什么是正确的方法都将不胜感激。
ZF2 从 2.1(alpha/ 或 beta ~ 下周)开始使用这两个驱动程序来支持这一点 阅读此
蛮力策略.. SQLSRV 没有加载.. 因为它是外部驱动程序,根据 php 版本、VS 版本、SQL 服务器驱动程序有超过 15 种可能的构建..
所以..我全部下载并一一尝试
使用这样的 php 测试页面:
echo "is 'sqlsrv' loaded: " . (extension_loaded('sqlsrv')?'yes':'no') ;
最后一个工作之前的最后一个:)
Zend 的属性是resources.db.adapter = "sqlsrv"
我也被提示“Microsoft SQL Server 2012 Native Client”
但是..不知道如何在 Linux/Mac 上安装它