Интерфейс программирования баз данных Oracle для C (ODPI-C) теперь доступен на GitHub. ODPI-C — это библиотека кода C с открытым исходным кодом, которая упрощает доступ к Oracle Database для приложений, написанных на C или C++. Он расположен поверх OCI (Oracle Call Interface) и предоставляет альтернативный способ использования функций OCI для драйверов Oracle Database и пользовательских приложений.
ODPI-C нацелен в первую очередь на создателей языковых драйверов и уже использовался для интерфейсов Python, Node.js, Go и Rust. Его также можно использовать для разработки приложений, в которых вам нужен быстрый доступ к базе данных Oracle и не требуются дополнительные функции.
Интерфейс представляет собой переработанную и улучшенную версию уровня доступа к данным DPI, используемого в драйвере Oracle node-oracledb. Причина, по которой ODPI-C обычно полезен для разработчиков, которые пишут более общие приложения, все еще проистекает из его предполагаемого использования для создания языковых драйверов. Языки, для которых будут использоваться драйверы, предоставляют пользователям упрощенный доступ к данным через кроссплатформенные API с «общим знаменателем». ODPI-C предоставляет альтернативный более простой вариант для общего доступа к данным, при этом обеспечивая доступ к Oracle Database. Это означает, что до тех пор, пока ODPI-C имеет функции, необходимые для доступа к Oracle Database, вы можете добавлять его в свои собственные проекты.
ODPI-C упрощает управление памятью и ресурсами, особенно для связывания и определения данных. Список функций включает в себя все обычные вызовы, которые вы ожидаете для управления соединениями и эффективного выполнения SQL и PL/SQL. Он также имеет поддержку объектов SQL и PL/SQL, прокручиваемые курсоры, расширенную организацию очередей и непрерывное уведомление о запросах.
Если вы хотите получить доступ к другим вызовам OCI без необходимости изменять код ODPI-C, существует вызов, чтобы получить базовый дескриптор контекста службы OCI.
Приложения ODPI-C также могут использовать преимущества OCI, которые не требуют доступа к API, например конфигурацию oraaccess.xml для включения автонастройки кэша операторов. Точно так же в приложениях можно использовать функции Oracle Database, контролируемые SQL и PL/SQL, такие как секционирование.