Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A técnica final para enviar instruções SQL para o SGBD é através de uma interface ao nível de chamada (CLI). Uma interface a nível de chamada fornece uma biblioteca de funções de SGBD que podem ser chamadas pelo programa aplicativo. Assim, em vez de tentar misturar SQL com outra linguagem de programação, uma interface ao nível de chamada é semelhante às bibliotecas de rotinas a que a maioria dos programadores está habituada, como as bibliotecas de string, I/O ou matemáticas em C. Note-se que os SGBD que suportam SQL embutido já têm uma interface ao nível da chamada, cujas chamadas são geradas pelo pré-compilador. No entanto, estas chamadas são indocumentadas e sujeitas a alterações sem aviso prévio.
Interfaces ao nível de chamada são frequentemente usadas em arquiteturas cliente/servidor, nas quais o programa de aplicação (o cliente) reside num computador e o SGBD (o servidor) reside num computador diferente. A aplicação chama funções CLI no sistema local, e essas chamadas são enviadas através da rede para o SGBD para processamento.
Uma interface ao nível de chamada é semelhante ao SQL dinâmico, pois as instruções SQL são passadas para o SGBD para processamento em tempo de execução, mas difere do SQL embutido como um todo porque não existem instruções SQL embutidas nem é necessário um pré-compilador.
A utilização de uma interface ao nível da chamada normalmente envolve os seguintes passos:
A aplicação chama uma função CLI para se ligar ao SGBD.
A aplicação constrói uma instrução SQL e coloca-a num buffer. Depois, chama uma ou mais funções CLI para enviar a instrução ao SGDD para preparação e execução.
Se a instrução for uma instrução SELECT, a aplicação chama uma função CLI para devolver os resultados nos buffers da aplicação. Normalmente, esta função devolve uma linha ou uma coluna de dados de cada vez.
A aplicação chama uma função CLI para se desligar do SGBD.