Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marina_DC

[Resolvido] Conexão Vb.Net com PostgreSQL usando Npgsql

Recommended Posts

Olá pessoal estou desenvolvendo um formulário que faz cadastro de Países em VB.Net e usando o PostgreSQL como Banco de Dados, para fazer a conexão estou usando o Npgsql, segui todos os tutoriais que encontrei na internet mas ele simplesmente não funciona. Quando carrego o formulário diz que a senha está incorreta, eu vou e faço a conexão no PGAdmin usando a mesma senha e funciona, mas pelo formulário não, será que alguém sabe o que pode ser?

 

Vou postar o código aqui.

 

Imports Npgsql
Public Class frmPais
    Private DA As NpgsqlDataAdapter

    Private DS As DataSet = New DataSet()
Private Sub frmPais_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ConexaoPG As String = "Server=localhost;Port=5432;UserId=postgres;Password='senha';Database=bancodedados"
        Dim conn As NpgsqlConnection = Nothing

        Try
            conn = New NpgsqlConnection(ConexaoPG)

            conn.Open()

            Dim SQL As String = "SELECT * FROM CADASTRO_PAIS"
            DA = New NpgsqlDataAdapter(SQL, conn)
            Dim cmdSQL As NpgsqlCommandBuilder = New NpgsqlCommandBuilder(DA)
            DA.Fill(DS, "CADASTRO_PAIS")
            DA.FillSchema(DS, SchemaType.Source, "CADASTRO_PAIS")

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            If Not conn Is Nothing Then
                If conn.State = ConnectionState.Open Then
                    conn.Close()
                End If
            End If
        End Try
    End Sub
End Class

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a mensagem de erro que está ocorrendo?? pode postar aqui.

 

Possivelmente deve ser configuração do Postgres, o usuário aceita conexões de fora?

Já usei o Npgsql e funciona normalmente, igual aos providers do Sql Server.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro que dá é: Autenticação de password falhou para o usuário postgres.

 

Sobre a conexão, aqui no PGAdmin marca que o esquema é público e que permite conexões quando clico sobre o banco de dados.

 

Sobre o Npgsql basta eu copiar os arquivos ngpsql.dll e o Mono.Security.dll para a pasta onde ficam os arquivos do projeto e depois no VB no nome do projeto colocar como Add Reference né? Pois foi o que fiz.

 

Poderia ser a versão de algum deles que está dando conflito?

 

Bom fui fazendo o debug no programa e descobri que o problema acontece na linha

 

conn.Open()

 

O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro que dá é: Autenticação de password falhou para o usuário postgres.

 

Sobre a conexão, aqui no PGAdmin marca que o esquema é público e que permite conexões quando clico sobre o banco de dados.

 

Sobre o Npgsql basta eu copiar os arquivos ngpsql.dll e o Mono.Security.dll para a pasta onde ficam os arquivos do projeto e depois no VB no nome do projeto colocar como Add Reference né? Pois foi o que fiz.

 

Poderia ser a versão de algum deles que está dando conflito?

 

Bom fui fazendo o debug no programa e descobri que o problema acontece na linha

 

conn.Open()

 

O que pode ser?

 

Sobre os arquivos do Npgsql está correto.

Tente criar um outro usuário de banco de dados, e crie um banco de teste onde o dono dele é este novo usuário e tente acessar ele.

 

Acho q deve ser configuração do Postgres e não erro na sua aplicação.

http://groups.google.com.br/group/listaphp/browse_thread/thread/8158294599dacc8e

Achei este link com um erro parecido com o q você falou, tente olhar na documentação do postgres sobre o código do erro, provavelmente você vai achar. O código do erro provavelmente vem junto com a exceção.

 

Achei este link agora.

Provavelmente deve ser isto.

 

http://osdir.com/ml/db.postgresql.brasil.user/2006-04/msg00097.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda, vou dar uma olhada nos links, mas no fim o problema era que o postgre não aceita undeline no nome da tabela, quase matei o computador quando mudei o nome e tirei o underline deixando tudo junto e funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.