Delen via


Call-Level interfaces

De laatste techniek voor het verzenden van SQL-instructies naar de DBMS is via een interface op oproepniveau (CLI). Een interface op oproepniveau biedt een bibliotheek met DBMS-functies die kunnen worden aangeroepen door het toepassingsprogramma. In plaats van SQL te combineren met een andere programmeertaal, is een interface op oproepniveau vergelijkbaar met de routinebibliotheken die de meeste programmeurs gewend zijn aan het gebruik, zoals de tekenreeks-, I/O- of wiskundige bibliotheken in C. DbMSs die ingesloten SQL ondersteunen, hebben al een interface op oproepniveau, de aanroepen die worden gegenereerd door de precompiler. Deze aanroepen zijn echter niet-gedocumenteerd en kunnen zonder kennisgeving worden gewijzigd.

Interfaces op oproepniveau worden vaak gebruikt in client-/serverarchitecturen, waarin het toepassingsprogramma (de client) zich op één computer bevindt en de DBMS (de server) zich op een andere computer bevindt. De toepassing roept CLI-functies op het lokale systeem aan en deze aanroepen worden via het netwerk naar de DBMS verzonden voor verwerking.

Een interface op aanroepniveau is vergelijkbaar met dynamische SQL, omdat SQL-instructies tijdens runtime worden doorgegeven aan de DBMS voor verwerking, maar het verschilt van ingesloten SQL als geheel omdat er geen ingesloten SQL-instructies zijn en er geen precompiler is vereist.

Het gebruik van een interface op oproepniveau omvat doorgaans de volgende stappen:

  1. De toepassing roept een CLI-functie aan om verbinding te maken met de DBMS.

  2. De toepassing bouwt een SQL-instructie en plaatst deze in een buffer. Vervolgens wordt een of meer CLI-functies aanroepen om de instructie naar de DBMS te verzenden voor voorbereiding en uitvoering.

  3. Als de instructie een SELECT-instructie is, roept de toepassing een CLI-functie aan om de resultaten in toepassingsbuffers te retourneren. Normaal gesproken retourneert deze functie één rij of één kolom met gegevens tegelijk.

  4. De toepassing roept een CLI-functie aan om de verbinding met DBMS te verbreken.