Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ClassO 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?
>
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
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.
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.