Oracle, PDO OCI vs OCI8

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

спасибо!

3 ответов


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

насколько я видел, нет никаких проблем, если вы можете справиться с Максом. тексты VARCHAR2 4000 символов. Если вам нужны CLOBs (и/или больше), не идите с PDO_OCI.

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


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

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

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

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


может быть, я опоздал на вечеринку .. просто подумал, что это добавит некоторую ценность дискуссии. Я имею опыт работы с расширением OCI8 и OCI8_11 и сделал некоторую обширную рабочую нагрузку, используя хранимые процедуры/пакеты, CLOB/BLOB и XML, мне никогда не приходилось запускать параметры .. кроме того, он кажется очень надежным и может обрабатывать большие нагрузки, и я даже использовал один раз для приложений ETL(Extract Transform Load) для обработки тяжелых рабочих нагрузок... также считаю, что oci8 является широко используемым расширением .. чем ПДО ..