Dicas para conexão ao Postgresql via libpq-fe h (C++)



Baixar 9.43 Kb.
Encontro30.10.2016
Tamanho9.43 Kb.
Dicas para conexão ao PostgreSQL via libpq-fe.h (C++)

Luana Peixoto Annibal

As dicas apresentadas nesse “tutorial” são para realizar a conexão a um banco PostgreSQL no Ubuntu usando ou comando de terminal ou usando a IDE do Neatbeans.



Configurando a máquina

O blog (http://www.botecodigital.info/linux/instalar-postgresql-9-no-ubuntu/) é uma ótima dica para quem precisa instalar o PostgreSQL no Ubuntu e caso você precisa desinstalá-lo indico http://www.vivaolinux.com.br/topico/Postgresql/Desinstalar-Postgres-por-completo .

Já para a instalação do Netbeans (C/C++) no Ubuntu eu recomendo esse blog http://blog.cidandrade.pro.br/tecnologia/tutorial-de-download-e-instalacao-da-ide-java-netbeans-6-9/

Uma vez instalado o PostgreSQL e o Netbeans, é necessário instalar o compilador g++ na sua máquina. Comando via terminal:



  • apt-get install g++

Em seguida, instale o pacote libpq-dev para ter acesso as libs e includes da libpq, que é uma biblioteca do PostgreSQL para realizar conexões e consultas ao banco em C/C++. Comando via terminal:

Para identificar o caminho da pasta include e da lib do postgres execute os respectivos comandos:

  • pg_config --includedir

    • Provável resposta: /usr/include/postgres



  • pg_config --libdir

    • Provável resposta: /usr/lib

Código C/C++

#include


#include "libpq-fe.h"

int main(int argc, char* argv[])


{

// Cria uma conexão com um banco PostgreSQL


PGconn *conn = PQsetdbLogin(

"localhost", // host


"5432", // port
NULL, // options
NULL, // tty
"template1", // dbName
"postgres", // login
"senha" // password

);


// Verifica se conectou corretamente
if (PQstatus(conn) != CONNECTION_OK)
{

printf(PQerrorMessage(conn));


PQfinish(conn);
return 1;

}

// Faz a consulta ao banco


PGresult *res = PQexec(conn, "SELECT * FROM pg_database");

// Verifica se a consulta foi valida


if (PQresultStatus(res) != PGRES_TUPLES_OK)
{

printf(PQerrorMessage(conn));


PQclear(res);
PQfinish(conn);
return 2;

}

// Obtém o número de registros


int nRegistros = PQntuples(res);

// Obtém o número de colunas


int nCampos = PQnfields(res);

// Percorre todos os registros


for (int i = 0; i < nRegistros; i++)
{

// Percorre todas as colunas


for (int j = 0; j < nCampos; j++)
{

// Imprime o valor do campo


printf("%-15s", PQgetvalue(res, i, j));

}
printf("\n");

}

// Fecha o acesso aos registros


PQclear(res);

// Fecha a conexão com o banco


PQfinish(conn);

return 0;

}
Compilação e execução via terminal

Agora você pode compilar o código fonte fornecendo o caminho do inlude e da lib, encontrados anteriormente, pelo comando:



  • g++ -I/usr/include/postgresql –L/usr/lib – lpq main.cpp –o main

  • ./main

Compilação e execução via IDE Netbeans

Uma vez criado o projeto C++ no netbeans, você precisa vincular o include e o lib do postgres nesse projeto.

A vinculação da lib é feita da seguinte maneira, clica com o botão direito sobre o projeto, seleciona o ícone Propriedades, vai em Vinculador, em Diretório de bibliotecas adicionais adiciona o caminho “/usr/lib” e em bibliotecas adiciona a lib “pq.a”. Também altere a Configuração para “Todas as configurações” antes de dar o “OK”.

Já para a vinculação do include, vai para Compilador C++ -> Configuração altere para “Todas as configurações” e em Diretórios de inclusão adicione o caminho “usr/include/postgresql”.



Pronto, agora é só compilar e instalar o seu projeto.

Baixar 9.43 Kb.

Compartilhe com seus amigos:




©bemvin.org 2020
enviar mensagem

    Página principal
Prefeitura municipal
santa catarina
Universidade federal
prefeitura municipal
pregão presencial
universidade federal
outras providências
processo seletivo
catarina prefeitura
minas gerais
secretaria municipal
CÂmara municipal
ensino fundamental
ensino médio
concurso público
catarina município
reunião ordinária
Dispõe sobre
Serviço público
câmara municipal
público federal
Processo seletivo
processo licitatório
educaçÃo universidade
seletivo simplificado
Secretaria municipal
sessão ordinária
ensino superior
Universidade estadual
Relatório técnico
Conselho municipal
técnico científico
direitos humanos
científico período
pregão eletrônico
Curriculum vitae
espírito santo
Sequência didática
Quarta feira
conselho municipal
prefeito municipal
distrito federal
língua portuguesa
nossa senhora
educaçÃo secretaria
Pregão presencial
segunda feira
recursos humanos
educaçÃO ciência
Terça feira
agricultura familiar