Fiche technique | |
---|---|
Type de produit : | Base de données |
Catégorie : | API |
Auteur : | Oracle Corporation |
Date de publication : | 1980 à maintenant |
Licence : | Commerciale |
Site Web : | https://www.oracle.com/ca-en/database/technologies/appdev/oci.html |
Introduction
L'OCI (tirant son nom de l'abréviation de l'anglicisme Oracle Call Interface) est un API (Application Programming Interface) proposé par Oracle pour communiquer à l'aide du langage de programmation C ou C++ au base de données Oracle Database SQL.
Oracle Call Interface est l'interface native en langage de programmation C complète et hautes performances pour Oracle Database destinée aux applications personnalisées ou aux paquets.
Oracle Call Interface est extrêmement fiable. Les outils Oracle tels que SQL*Plus, Real Application Testing (RAT), SQL*Loader et Data-Pump utilisent tous Oracle Call Interface. Oracle Call Interface fournit la base sur laquelle d'autres interfaces spécifiques au langage de programmation telles que Oracle JDBC-OCI, Oracle Data Provider for Net (ODP.Net), Oracle Precompilers, Oracle ODBC et les pilotes Oracle C++ Call Interface (OCCI) sont construits. Oracle Call Interface est également utilisé par les principaux pilotes de langage de script tels que node-oracledb pour Node.js, PHP OCI8, ruby-oci8, Perl DBD::Oracle, python-oracledb de Python et le pilote ROracle du langage de programmation statistique R.
Un large éventail de clients, notamment des clients du Fortune 500 et des éditeurs de logiciels indépendants, développent des applications hautes performances directement dans Oracle Call Interface. Les bibliothèques Oracle Call Interface sont incluses par défaut dans Oracle Database. Oracle Call Interface est également inclus dans Oracle Instant Client léger, ce qui permet aux éditeurs de logiciels indépendants et aux clients d'installer et de déployer rapidement des applications et des outils Oracle Call Interface.
Voici ses principales caractéristiques d'OCI :
- Accès direct aux fonctionnalités Oracle : OCI permet un accès direct aux fonctionnalités internes d'Oracle Database, offrant ainsi une grande flexibilité pour les développeurs ayant besoin de contrôler les interactions avec la base de données à un niveau plus granulaire que les interfaces SQL standard.
- Langage de programmation supporté : C/C++ : OCI est principalement destiné à être utilisé avec les langages de programmation C et C++.
- Gestion des transactions : OCI permet la gestion explicite des transactions via des commandes de commit et de rollback, ce qui permet aux développeurs de contrôler précisément les points de validation des transactions dans une application.
- Support des requêtes SQL et PL/SQL : OCI permet d'exécuter des requêtes SQL et des blocs PL/SQL dans la base de données, incluant la gestion des curseurs, l'exécution de procédures STORED, et l'envoi de variables liées.
- Gestion des curseurs : OCI permet de gérer efficacement les curseurs, ce qui permet de traiter les résultats de requêtes une ligne à la fois ou par lot, en offrant une approche optimisée pour manipuler les ensembles de résultats.
- Gestion de la mémoire : OCI offre des options sophistiquées pour contrôler la gestion de la mémoire, notamment pour l'allocation dynamique des structures de données et des buffers pour manipuler les résultats des requêtes SQL.
- Support des types de données complexes : OCI supporte les types de données complexes, tels que les LOB (Large Objects), les Collections, les types ROWID, et les types de données objet d'Oracle.
- Connexion réseau et sessions multiples : OCI prend en charge la gestion des connexions réseau à une base de données Oracle, y compris le bassin de connexions et le bassin de sessions, pour améliorer les performances dans des environnements à fort volume.
- Support des notifications d'événements : OCI peut recevoir des notifications d'événements de base de données (comme des avertissements de changement de données), permettant à une application de réagir aux modifications en temps réel.
- OCIArray et OCITable : OCI supporte les types de données en tableau (OCIArray) et les tables indexées (OCITable), permettant ainsi de manipuler des collections dans la base de données Oracle.
- Support de la sécurité : OCI prend en charge les mécanismes de sécurité d'Oracle Database, y compris l'authentification utilisateur, la gestion des rôles, et le support des authentifications via SSL et Kerberos.
- Compatibilité multi-plateforme : OCI est disponible sur diverses plateformes, y compris Windows, Linux, UNIX, et macOS, permettant le développement d'applications Oracle portables.
- Extensibilité : En raison de son niveau d'accès bas, OCI permet d'intégrer des fonctionnalités personnalisées et d'optimiser les opérations selon les besoins spécifiques de l'application.