Oracle,PDO_OCI与OCI8

jar*_*oal 10 php oracle pdo oracle-call-interface

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

谢谢!

eRa*_*cal 5

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

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

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


Álv*_*lez 5

我没有PDO驱动程序的个人经验(标记为实验已经足够甚至没有考虑它).但是在The Underground PHP和Oracle Manual中,我们可以阅读以下内容,作为PHP PDO扩展章节的前言:

PDO扩展和PDO_OCI驱动程序是开源的,包含在PHP 5.1及更高版本中.Oracle对PDO_OCI没有贡献.

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

扩展没有完成,它可能维护得很差(虽然有些错误修复不时得到)并且这种方式多年来一直如此.我不会把鸡蛋放在那个篮子里.