10

我工作的公司目前使用一些基本功能来抽象 OCI 库作为数据库连接的一种手段。我们正在考虑切换到 PHP 的 PDO 对象,但从一些快速搜索来看,Oracle 驱动程序似乎不如其他 PDO 驱动程序成熟。如果有人在生产环境中使用过 PDO/oci8,我将不胜感激。

谢谢!

4

3 回答 3

5

我对 PDO 驱动程序没有个人经验(被标记为实验性的就足够了,甚至不考虑它)。但是在The Underground PHP and Oracle Manual中,我们可以阅读以下内容,作为PHP PDO 扩展一章的前言:

PDO 扩展和 PDO_OCI 驱动程序是开源的,并包含在 PHP 5.1 及更高版本中。Oracle 不参与 PDO_OCI。

PHP 社区已经让 PDO 项目萎靡不振,Oracle 建议尽可能使用 OCI8,因为它具有更好的功能集、性能、可靠性和稳定性。不建议将 PDO_OCI 用于通用应用程序。

扩展还没有完成,它可能维护得很差(尽管有时会修复一些错误)并且多年来一直如此。我不会把我的鸡蛋放在那个篮子里。

于 2013-02-22T13:45:12.080 回答
4

在我看来,Oracle 对开发 PDO 驱动程序不感兴趣,它正在开发自己的驱动程序,以使您靠近 oracle 数据库……到 oracle 驱动程序……等等:)

据我所知,如果你能应付最大的问题是没有问题的。VARCHAR2 的 4000 个字符的文本。如果您需要 CLOB(和/或更大),请不要使用 PDO_OCI。

我创建了一套“PDOSurrogate”类,以替代 Oracle 的 PDO。当 PDO 足够成熟时,我可以使用 Refactor->Rename 将其更改为 PDO。

于 2010-04-16T19:58:53.740 回答
0

可能是我参加聚会太晚了……只是想为讨论增加一些价值。我在 OCI8 和 OCI8_11 扩展方面经验丰富,并且使用存储过程/包、CLOB/BLOB 和 XML 完成了一些广泛的工作量曾经用于ETL(Extract Transform Load)应用程序来处理繁重的工作负载......也相信oci8是广泛使用的扩展......而不是pdo......

于 2013-09-03T08:21:00.673 回答