Jump to content

Recommended Posts

Posted (edited)

boas,

eu estou a tentar ligar uma base de dados MySQL no VB.Net e ja instalei o MySQL connector mas não consigo fazer a ligação diz-me que o acesso é negado. contudo o username e a password estao corretos.

abaixo envio o codigo.

Dim conn As MySqlConnection
 conn = New MySqlConnection("server=localhost; Uid=admin; password=***; database=db_gdlivracao;")
 'Pesquisa e verificação
 SQL = "select * from tb_administrador"
 Try
	 conn.Open()
	 Try
		 myCommand.Connection = conn
		 myCommand.CommandText = SQL
		 myAdapter.SelectCommand = myCommand
		 myAdapter.Fill(myData)
		 DataGridView1.DataSource = myData
		 'DataGridView1.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows)
	 Catch myerro As MySqlException
		 MsgBox("Erro de leitura no banco de dados : " & myerro.Message)
	 End Try
	 MessageBox.Show("Conexão aberta com sucesso")
	 conn.Close()
 Catch myerro As MySqlException
	 MessageBox.Show("Erro ao conectar com o Banco de dados : " & myerro.Message)
 Finally
	 conn.Dispose()
 End Try
 Me.Close()
Edited by security

"Innovation distinguishes between a leader and a follower." Steve jobs.

Posted

Esse user existe mesmo?

Por defeito, o user que vem no script de instalação é "root" e não "admin".

Consegues ligar à DB com a consola ou outro cliente MySQL?

De qualquer das formas, deverias criar um utilizador para usar na aplicação que não o root.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Posted (edited)

sim existe tanto que uso este username no php

e sim tenho outro user.

mas nem com o admin nem root consigo aceder. Dá-me sempre Access denied ao utilizador que tentar conetar.

Edited by security

"Innovation distinguishes between a leader and a follower." Steve jobs.

Posted (edited)

Algum deles tem password?

Já aconteceu algumas vezes a base de dados rejeitar ligações do .NET connector a users sem password.

Experimenta também fazeres o Open da ligação apenas após indicares a ligação ao command.

Já há algum tempo que não utilizo ligação de dados em vb.net, mas posso confirmar-te amanhã, quando puder agarrar na IDE.

Edited by ribeiro55

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Posted

sim. por uma questão de segurança todos os utilizadores existentes têm password.

eu vou exprimetar e fico à espera que me digas algo entao.

Obrigado 👍

"Innovation distinguishes between a leader and a follower." Steve jobs.

Posted

Boa noite,

Experimenta ligar-te ao localhost porta 3306, via telnet. Caso ligue provavelmente é um problema de permissões do MySQL.

Abre a tabela "mysql" no phpmyadmin por exemplo, ou noutra plataforma qualquer, e edita o registo do user com que queres aceder a partir de VB.net, altera-lhe o valor do campo "host" para "%" símbolo de percentagem, para assim permitires que esse utilizador se ligue ao MySql via TCP a partir de qualquer ip.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Desculpa só conseguir agora.

Tentei um exemplo rápido e funcionou.

Para um teste rápido, experimenta assim:

Dim con As New MySqlConnection("Server=localhost;Database=iterative;Uid=iterativeadmin;Pwd=admin;")
Dim com As New MySqlCommand("SELECT userid FROM users", con)
Dim DA As New MySqlDataAdapter(com)
Dim DT As New DataTable
DA.Fill(DT)
MsgBox(DT.Rows.Count)

Não precisas de abrir nem fechar a connection porque o Fill faz isso por ti.

Não é muito diferente do que tens. Só não abro a ligação, porque não faz sentido neste caso.

Pode ser esse trânsito de estados que está a fazer com que a tua instância te mostre o dedo.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.