Oracle, PDO_OCI против OCI8 - PullRequest
       22

Oracle, PDO_OCI против OCI8

10 голосов
/ 02 апреля 2010

Компания, в которой я работаю в настоящее время, использует некоторые базовые функции для абстрагирования библиотек OCI в качестве средства подключения к БД. Мы рассматриваем возможность перехода на PHP-объект PDO, но из некоторых быстрых поисков выглядит, что драйвер Oracle немного менее зрел, чем другие драйверы PDO. Я был бы признателен за некоторые плюсы и минусы для PDO / oci8 от любого, кто использовал его в производственной среде.

Спасибо!

Ответы [ 3 ]

5 голосов
/ 22 февраля 2013

У меня нет личного опыта работы с драйвером PDO (было помечено как экспериментальный , что было даже недостаточно, чтобы его даже не рассмотреть). Но в The Underground PHP и Oracle Manual мы можем прочитать следующее, как предисловие к главе PHP PDO :

Расширение PDO и драйвер PDO_OCI с открытым исходным кодом и включены в PHP 5.1 и выше. Oracle не участвует в PDO_OCI.

Сообщество PHP оставило проект PDO вялым, и Oracle рекомендует использовать OCI8 вместо этого, когда это возможно, из-за его лучшего набора функций, производительность, надежность и стабильность. Использование PDO_OCI для общего не рекомендуется использовать в специальных целях.

Расширение не закончено, оно, вероятно, плохо обслуживается (хотя некоторые исправления ошибок иногда и исправляются), и так было годами. Я бы не положил яйца в эту корзину.

4 голосов
/ 16 апреля 2010

Мне кажется, что Oracle не заинтересована в разработке драйвера для PDO, она разрабатывает свой собственный драйвер, чтобы держать вас ближе к базе данных Oracle ... к драйверу Oracle ... и т.д.

Насколько я видел, нет проблем, если вы справитесь с макс. тексты VARCHAR2 4000 ЧАРС. Если вам нужны CLOB (и / или больше), не используйте PDO_OCI.

Я создал набор классов "PDOSurrogate" в качестве замены замены PDO на Oracle. Когда PDO достаточно зрел, я могу использовать Refactor-> Rename, чтобы изменить его на PDO.

0 голосов
/ 03 сентября 2013

Может быть, я опоздал на вечеринку ... просто подумал, чтобы добавить какую-то ценность к обсуждению. У меня есть опыт работы с расширениями OCI8 и OCI8_11, и я проделал большую рабочую нагрузку, используя хранимые процедуры / пакеты, CLOB / BLOB и XML, мне никогда не приходилось исчерпывать опции. Кроме того, он кажется очень надежным и может справляться с большими нагрузками, и я даже использовал однажды для приложений ETL (Extract Transform Load) для обработки тяжелых рабочих нагрузок ... также считаю, что oci8 - широко используемое расширение .. than pdo ..

...