Call Level Interface
La tecnica finale per l'invio di istruzioni SQL a DBMS consiste nell'usare una call-level interface (CLI). Una call-level interface fornisce una libreria di funzioni DBMS che possono essere chiamate dal programma dell'applicazione. Pertanto, invece di tentare di combinare SQL con un altro linguaggio di programmazione, una call-level interface è simile alle librerie di routine che la maggior parte dei programmatori è abituata a usare, come ad esempio le librerie di stringhe, I/O o matematiche in C. Si noti che i DBMS che supportano l'SQL embedded dispongono già una call-level interface, le cui chiamate vengono generate dal precompilatore. Tuttavia, queste chiamate non sono documentate e soggette a modifiche senza preavviso.
Le call-level interface vengono comunemente usate nelle architetture client/server, in cui il programma dell'applicazione (il client) si trova in un computer e il DBMS (il server) si trova in un computer diverso. L'applicazione chiama le funzioni CLI nel sistema locale, e tali chiamate vengono inviate attraverso la rete al DBMS per l'elaborazione.
Una call-level interface è simile al SQL dinamico, in quanto le istruzioni SQL vengono passate al DBMS per l'elaborazione in fase di esecuzione, ma differisce dal SQL embedded nel suo complesso in quanto non sono presenti istruzioni SQL incorporate e non è necessario alcun precompilatore.
L'uso di una call-level interface prevede in genere i passaggi seguenti:
L'applicazione chiama una funzione CLI per connettersi al sistema DBMS.
L'applicazione compila un'istruzione SQL e la inserisce in un buffer. Chiama quindi una o più funzioni CLI per inviare l'istruzione a DBMS per la preparazione e l'esecuzione.
Se l'istruzione è un'istruzione SELECT, l'applicazione chiama una funzione CLI per restituire i risultati nei buffer dell'applicazione. In genere, questa funzione restituisce una riga o una colonna di dati alla volta.
L'applicazione chiama una funzione CLI per disconnettersi dal DBMS.