Marina_DC 0 Denunciar post Postado Janeiro 4, 2010 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
Danimar 0 Denunciar post Postado Janeiro 4, 2010 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
Marina_DC 0 Denunciar post Postado Janeiro 4, 2010 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
Danimar 0 Denunciar post Postado Janeiro 5, 2010 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
Marina_DC 0 Denunciar post Postado Janeiro 5, 2010 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