Pessoal, eu dei uma pesquisada e creio que a conexão com PostGre necessita de uma camada de gerenciamento de dados como ODBC. Isso é correto?
Pesquisando um pouco cheguei em uma classe mais ou menos assim:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data.Odbc;
namespace AcessoBancoPG
{
public class ConexaoBD
{
private string cnString = "DSN=dsnPostgreSQL;UID=postgres;PWD=*****;";
public string CnString
{
get { return cnString; }
set { cnString = value; }
}
private OdbcConnection cnPostgreSQL;
public OdbcConnection CnPostgreSQL
{
get { return cnPostgreSQL; }
set { cnPostgreSQL = value; }
}
public Boolean conectar()
{
this.CnPostgreSQL = new OdbcConnection(CnString);
try
{
cnPostgreSQL.Open();
return true;
}
catch (Exception)
{
return false;
}
}
}
}
Isso confirma?
A string de conexão é essa? Ao testar ele diz que não foi possível localizar o banco.
E como no meu form principal (supondo que a conexão funcione) Eu faria uma consulta e jogaria para um Grid?
Algo assim?
ConexaoBD conexao = new ConexaoBD();
conexao.conectar();
DataSet ds = new DataSet();
OdbcDataAdapter da = new OdbcDataAdapter();
OdbcCommandBuilder cb = new OdbcCommandBuilder(da);
da.SelectCommand = new OdbcCommand("SELECT nome, bairro from CLIENTE limit 10", conexao.CnPostgreSQL);
da.Fill(ds);