Pular para o conteúdo

PostgreSQL - Embutindo comandos SQL no seu código C

Existe uma alternativa ao uso de bibliotecas para acesso ao PostgreSQL, que é a inclusão de comandos SQL dentro do próprio código em C. Veremos neste artigo como fazer esta integração.
Poleto poleto
Hits: 77.019 Categoria: C/C++ Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar

Parte 5: Compilando os programas

A única diferença da compilação de um programa que tenha código SQL embutido para outros programas escritos em C é que o pré-processador do PostgreSQL deve ser chamado antes do gcc.

Para compilar nosso programa acima, usamos o comando:

$ ecpg exemplo.pgc

Mais simples que isso, impossível. O ECPG vai gerar um arquivo de mesmo nome, porém com a extensão ".c". Iremos compilar este arquivo com o gcc da seguinte forma:

$ gcc -o exemplo exemplo.c -lecpg

A opção -o especifica o nome do arquivo executável que será gerado, no nosso caso, exemplo.

O parâmetro exemplo.c é o arquivo contendo o código-fonte, que foi gerado previamente pelo ECPG.

A opção -lecpg diz ao compilador para usar a biblioteca do ECPG. Esta opção não pode ser esquecida, do contrário, você vai ver muitos erros de compilação e pode perder horas até conseguir se dar conta de que esqueceu esta opção.

Após este passo, temos um arquivo executável pronto para ser rodado.

   1. Introdução
   2. Criando o ambiente de testes
   3. Iniciando com o ECPG
   4. Conectando com o servidor de banco de dados
   5. Compilando os programas
   6. Inserindo, atualizando e apagando dados de tabelas
   7. Retornando dados de tabelas
   8. Considerações Finais

Acessando PostgreSQL com C - Cursores

Acessando PostgreSQL com C

Instalando o CMS Drupal 4.7

Ensaio acerca de bibliotecas de código aberto para abstração de acesso a banco de dados em linguagem C++

Usando MySQL na linguagem C

Acessando PostgreSQL com C - Cursores

Acessando PostgreSQL com C

Embutindo um banco de dados SQLite em sua aplicação C++

#1 Comentário enviado por marcolinux em 07/06/2006 - 17:11h
Parece que foi DEUS que mandou vc postar este artigo!

Estou justamente sofrendo aqui usando a libpq !


Parabéns pelo material.

MARCOLINUX
#2 Comentário enviado por faustojacome em 10/03/2008 - 23:43h
Apos quebrar muito a cabeca para funcionar no Debian com o PostgreSQL e o ecpg via apt-get aqui vai a forma que consegui compilar.

gcc -g -I/usr/include/postgresql/ -o saida postgreSQL.c -L/usr/lib/postgresql/8.3/lib/ -lecpg -lpq
#3 Comentário enviado por benwin em 28/10/2009 - 07:28h
Porque eu não posso usar variáveis no campo FROM?

EXEC SQL SELECT usuario, senha INTO :varusuario, :varsenha FROM :tabelabd WHERE usuario = :meunumerodb;

Existe alguma forma de burlar isso?

Abraço!

Contribuir com comentário

Entre na sua conta para comentar.