【问题标题】:PDO_OCI vs OCI8PDO_OCI 与 OCI8
【发布时间】:2011-08-22 18:12:29
【问题描述】:

我正在开发一个新项目并尝试确定是否应该使用 PDO_OCI 或 oci8 进行数据库连接。不幸的是,我认为没有人真正比较过两者。

我掌握的信息如下,以便您知道我为什么担心选择。 OCI8 是由 Oracle(AFAIK) 开发的,所以这似乎是一个不错的选择。我更喜欢 PDO,但 PDO_OCI 扩展似乎在一段时间内没有更新,并且在 PHP 文档页面上仍标记为实验性。

如果有人可以就您为什么会/不会使用其中一个或另一个给我任何想法,以便我可以深入了解哪个更好,那就太好了。

【问题讨论】:

  • oci 扩展具有与 PDO 非常相似的接口(准备语句、参数绑定等)。我建议不要标记为“实验性”的任何内容。此外,在 Zend Server 中还有一个更新的 oci 扩展。您可能也应该检查一下
  • 我希望 Zend Server 是一个选项,但在我所处的环境中它不是一个选项。我对 OCI8 的最大问题是它功能齐全。因此,要真正与 PDO 实现进行比较,它必须包装在一个类中。不过感谢您的评论。
  • 确实,PDO_OCI 太老了,不能与最新的即时客户端版本一起使用;您必须编辑配置脚本以告诉它版本 > 11.2 存在。
  • PDO/Oracle vs OCI的可能重复

标签: php pdo oci8


【解决方案1】:

我对在实验笔记中使用 PDO_OCI 感到非常紧张。但是,我看到了标准化整个公司 PDO 上的数据库连接的主要优势,因为它具有数据抽象性。 我实施了一些测试,以确保数据能够进入数据库并且能够承受预期的负载。至此,它已经成功处理了大约 15,000 条记录。

php.net 上关于它的注释说名称和功能可能会在 PHP 的未来版本中发生变化。我计划在升级之前测试我的实现,以确保功能没有改变,但我们可能会这样做。

我可以说它对我们很有效。

【讨论】:

  • 值得注意的是,文档中的“名称可能会更改”注释是标准的“实验性”样板简介。
  • 我同意这是标准消息。
  • 它已经“实验”了大约六年,但就稳定性而言,这可能是一个安全的赌注。
  • 好吧,反过来说,它有 6 个六年前没有人修复的 bug...bugs.php.net/bug.php?id=57095
【解决方案2】:

我从这个线程复制答案: Oracle, PDO_OCI vs OCI8

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

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

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 2010-09-11
    • 2014-08-21
    • 2013-12-23
    • 2020-04-11
    • 2014-01-19
    • 2016-07-12
    • 1970-01-01
    相关资源
    最近更新 更多