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



Baixar 9.43 Kb.
Encontro30.10.2016
Tamanho9.43 Kb.
#169
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 2022
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
Serviço público
Dispõe sobre
câmara municipal
público federal
processo licitatório
Processo seletivo
educaçÃo universidade
seletivo simplificado
Secretaria municipal
sessão ordinária
Universidade estadual
Relatório técnico
ensino superior
técnico científico
Conselho municipal
científico período
direitos humanos
Curriculum vitae
espírito santo
pregão eletrônico
Sequência didática
distrito federal
Quarta feira
prefeito municipal
conselho municipal
língua portuguesa
nossa senhora
educaçÃo secretaria
Pregão presencial
segunda feira
educaçÃO ciência
Terça feira
agricultura familiar
recursos humanos