none
conexão postgre + c# RRS feed

  • Pergunta

  • pessoal, seguinte.. estou desenvolvendo uma aplicação web usando o banco postgres, e não estou sabendo fazer a ligação dele com o VS, alguém pode me auxiliar? estou encontrando o seguinte erro:

     

    "Nome da fonte de dados não encontrado e nenhum driver padrão especificado";

     

    a string de conexão que estou usando é essa:

    "Server=localhost; Port=5432; User Id=postgres; Password='escola'; Database=bdEscolaPiloto";


    segunda-feira, 15 de agosto de 2011 20:19

Respostas

  • bem.. eu não tinha criado uma conexão dentro do projeto VS, embora havia feito a string..

    realizei esse procedimento, e deu certo..

    não sei deizer se o fato deu não ter criado a uma conexão no projeto VS fosse o causador do problema.. fato é que agora está funcionando..

    obrigada pela ajuda e disposição!

    vou precisar de muita ajuda com este postgres.. rs..

    []s!

    • Marcado como Resposta kngipa quarta-feira, 17 de agosto de 2011 16:12
    quarta-feira, 17 de agosto de 2011 16:12

Todas as Respostas

  • Olá Kyrla,

    Sua senha realmente tem essas aspas simples?

    Pesquisei um pouco e não encontrei nenhum exemplo com aspas simples...

    Exemplo:

    Server=localhost;Port=5432;User Id=postgres;Password=tech07;Database=seguros;
    


    Vc se conectou a algum banco desta máquina anteriormente?

    O banco de dados realmente existe?

    Vc está fazendo essa conexão via ODBC ou algum provider específico?

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    segunda-feira, 15 de agosto de 2011 23:19
    Moderador
  • já tirei as aspas.. mas não funciona também..

    estou fazendo conexão via ODBC, é a primeira vez que utilizo o postgres.. o erro ocorre na hora que vai ser aberta a conexão.. eu já instalei um drive odbc e configurei ele da forma que mostra esse site: http://postgresqlbr.blogspot.com/2009/01/configuracao-basica-de-driver-odbc-para.html

    mas o erro permanece.. quanto ao banco, ele existe, estou com ele aberto.. já copiei o nome colei na string de conexão..

    o inicio do meu código é esse, e o erro ocorre na linha em negrito..

                    OdbcConnection conexao = new OdbcConnection();
                    conexao.ConnectionString = stringConexao.StringDeConexao;

                    try
                    {
                        conexao.Open();

     

     

    por fim, minha string..

    "Server = localhost; Port = 5432; Database = bdEscolaPiloto; User ID = postgres; Password = escola";

    segunda-feira, 15 de agosto de 2011 23:23
  • Olá Kyrla,

    Todos os serviços do Postgres estão ativos?

    []s


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    terça-feira, 16 de agosto de 2011 02:02
    Moderador
  • como que eu sei se os serviços dele estão ativos?

    depois que fiz a instalação e a configuração conforme o link informado no outro post, eu não mexi em mais nada..

    terça-feira, 16 de agosto de 2011 12:25
  • Oi Kyrla,

    Podemos tentar conectar utilizando um arquivo UDL...

    Faça assim:

    1 - Na área de trabalho crie um arquivo .txt

    2 - Altere a extensão do arquivo para .udl

    3 - Abra o arquivo .udl e tente fazer configurar o "Data Link Properties" (talvez se vc utilizar o Microsoft OLE DB Provider for ODBC Drivers ele consiga conectar)

    4 - Depois de configurado, clique no botão "Test Connection" (ou no Testar Conexão)

    5 - Se não funcionar, continue testando até conseguir, se funcionar, clique em ok e altere a extensão do arquivo .udl para .txt

    6 - Abra o arquivo .txt e vc terá a string de conexão pronta =]

     

    Vamos tentar! =]

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    terça-feira, 16 de agosto de 2011 12:36
    Moderador
  • hum..

    irei tentar criar a string de conexão por este meio.. penso que a string pode realmente está com algum erro pois quando configurei o driver odbc pelo link que postei mais acima e pedi pra testar a conexão, não apresentou nenhum erro.. e eu posso colocar qualquer besteira na string de conexão, que apresenta o mesmo erro..

    só que só vou poder realizar esse procedimento de noite, pois agora não estou em casa.. se puder, passe por aqui hoje de noite pra saber se tive sucesso..

    abraços!

    terça-feira, 16 de agosto de 2011 13:43
  • Olá! =]

    Sempre estou aqui pra ajudar a comunidade =]

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    terça-feira, 16 de agosto de 2011 13:45
    Moderador
  • Fernando, aproveitando.. antes de realizar esse procedimento.. você sabe me dizer se depois que instalo o drive ODBC e configuro ele conforme o link que postei mais acima, eu preciso fazer alguma referencia ao Postgres dentro do visual studio?

    Porque depois que fiz isso, eu só criei a string de conexão na mão mesmo.. e usei a biblioteca System.Data.. derepente eu pulei alguma parte ai..

    terça-feira, 16 de agosto de 2011 18:22
  • Era isso mesmo,

    Os providers do OLEDB deveriam fazer a conexão...

    Acredito que o problema seja o Postgress da sua máquina, senão a string de conexão...

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    terça-feira, 16 de agosto de 2011 18:26
    Moderador
  • bem.. eu não tinha criado uma conexão dentro do projeto VS, embora havia feito a string..

    realizei esse procedimento, e deu certo..

    não sei deizer se o fato deu não ter criado a uma conexão no projeto VS fosse o causador do problema.. fato é que agora está funcionando..

    obrigada pela ajuda e disposição!

    vou precisar de muita ajuda com este postgres.. rs..

    []s!

    • Marcado como Resposta kngipa quarta-feira, 17 de agosto de 2011 16:12
    quarta-feira, 17 de agosto de 2011 16:12
  • Fernando, creio que o erro dela seja este ("ERROR [IM002] [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado")

    tive o mesmo erro, já tentei todo tipo de string de conexao descrista neste dabade é o erro persiste.

    Por esse motivo estou tentando utilizar o Provider Npgsql

    Att.

    João

    quarta-feira, 17 de agosto de 2011 16:44
  • minha conexao odbc:

    using System.Data;

    using System.Data.Odbc;

     

    string cnString = "DSN=dsnPostgreSQL;UID=admin;PWD=***;";

    // cria o objeto OdbcConnection

    OdbcConnection cnPostgreSQL = new OdbcConnection(cnString);

    cnPostgreSQL.Open();

     

    quarta-feira, 17 de agosto de 2011 16:49
  • bem.. o erro que estava acontecendo comigo é bem na linha onde abre a conexão..

    e sim, é o mesmo erro informado pelo João..

    o que eu fiz, foi no VS criar uma nova conexão, naquela parte que fala sobre server.. não me lembro muito bem o caminho.. lá informo que vou utilizar uma conexão do tipo ODBC e depois escolho qual o banco, no caso, o postgres..

    se alguém souber falar o caminho pra ele.. pra facilitar, você pode tenta criar a conexão atraves do Grid.. no meu caso, essa parte de criar nova conexão com o banco, estava do lado esquerdo, como fica a aba "tool bar"

    quarta-feira, 17 de agosto de 2011 17:09
  • kyrla_nunes.

    kyrla_nunes.

    Não seria na barra Databese Explorer?

    quarta-feira, 17 de agosto de 2011 19:16
  • Olá João,

     

    A Kyrla utilizou a aba Server Explorer (Ctrl + Alt + S), depois selecionou a opção DataConnections, e depois clicou com o botão direito e clicou em "Add Connection"...

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quarta-feira, 17 de agosto de 2011 19:29
    Moderador
  • foi isso ai que eu fiz.. ai eu coloquei ODBC, depois selecionei o banco, informei o usuário e a senha.. testei a conexão e fiz a string..

    lembrando que.. configurei antes o odbc do postgres, em ferramentas administrativas do windows.. como mostrei em um dos posts acima pelo link..

    quarta-feira, 17 de agosto de 2011 20:00
  • kyrla, já fiz isso não deu certo, continua dando o mesmo erro. Talvez seja alguma incompatibilidade do driver odbc com Microsoft Visual Web Developer 2010 Express.

    Vou analisar outras possibilidades.

    ah! conseguir conectar a base com vb6.

    quarta-feira, 17 de agosto de 2011 20:20
  • talvez o problema esteja no win 7 64bits.

    os unicos driver que funcionam na maquina são:

    psqlodbc_09_00_0101-x64.zip 2010-10-16 15:28:54 1.7 MB

    psqlodbc_09_00_0200-x64.zip 2010-10-30 16:18:54 1.7 MB

    psqlodbc_09_00_0300-x64.zip 2011-05-09 12:56:07 1.7 MB

    psqlodbc_09_00_0310-x64.zip 2011-07-08 15:15:37 1.7 MB

    consigo estabelar conexao com vb6, criando arquivo .udl e muito mais, mas conectar via c#.net nada!

     

    quarta-feira, 17 de agosto de 2011 20:32
  • Fernando e Kyrla.

    Apos muitas pesquisas conseguir fazer funcionar os Drivers ODBC, então segue os precedimentos abaixo:

    1º Instalar Driver PostgreSQL ODBC para win x32 (psqlodbc_09_00_0310)

    2º Em Iniciar > Executar > Colar o comando > C:\WINDOWS\SysWOW64\odbcad32.exe > Abrira a Janela de "Administrador de Fonte de Dados ODBC" 32bits.

    3º Aba: Fontes de Dados de Usuário > Adicionar > Selecione o "Drive PostgreSQL Unicode" > Informe: Data Source: PostgreSQL > Description: PostgreSQL > Databese: Nome de sua base > SSL Mode: Disable > Server: Nome de seu servidor (se tiver instalado em sua maquina, de o nome de localhost) > Port: Numero da Porta  (se tiver instalado em sua maquina, numero: 5432) > User Name: Nome do usuario > Password: Senha.

    4º Clique em TEST para verificar a conexão.

    5º Se tiver OK salve e feche a Janela.

    * Para criar um string de conexão: Ctrl + Alt + S (Dabase Explorer)

    1. Clique com o botão direito do Maouse em "Add Connection"

    2. Definir o Data Source: Microsoft ODBC Data Source (ODBC) 

    3. Use User ou System data Source name: PostgreSQL (Nome que dei ao meu data source, acima)

    4. user name e password não são obrigatórios, mas é recomendável informar.

    5. sera gerado uma string de conexão, semelhante a esta: Dsn=PostgreSQL;uid=postgres

    OK Para finalizar.

    ------------------------------------------------------

    WIN 7 64bits

    POSTGRESQL 64bits

    ODBC 32bits (psqlodbc_09_00_0310)

    Microsoft Visual Web Developer 2010 Express

    ------------------------------------------------------

    sexta-feira, 19 de agosto de 2011 16:39
  • bem... foi este procedimento que eu já havia tentado explicar que eu tinha feito..

    mas você descreveu bem a situação..

    vlw

    sexta-feira, 19 de agosto de 2011 16:54