Компания, в которой я работаю, в настоящее время использует некоторые базовые функции для абстрагирования библиотек OCI в качестве средства для подключения к БД. Мы рассматриваем возможность переключения на PHP-объект PDO, но из некоторых быстрых запросов выглядит, что драйвер Oracle немного зреет, чем другие драйверы PDO. Я был бы признателен за pro / cons за PDO / oci8 от тех, кто использовал его в производственной среде.
Благодаря!
Мне кажется, что Oracle не заинтересован в разработке драйвера для PDO, он разрабатывает собственный драйвер, чтобы держать вас близко к базе данных оракула … к драйверу oracle … и т. Д. 🙂
Насколько я видел, нет проблем, если вы справитесь с макс. тексты VARCHAR2 4000 CHARS. Если вам нужны CLOB (и / или больше), не используйте PDO_OCI.
Я создал набор классов «PDOSurrogate» в качестве замены в замене PDO на Oracle. Когда PDO достаточно зрелый, я могу использовать Refactor-> Rename, чтобы изменить его на PDO.
У меня нет личного опыта работы с драйвером PDO (его отметили как экспериментальное , и даже не рассматривали его). Но в The Underground PHP и Oracle Manual мы можем прочитать следующее, как предисловие к главе расширения 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 является широко используемым расширением .. чем pdo ..