security Posted August 6, 2012 at 05:08 PM Report #471603 Posted August 6, 2012 at 05:08 PM (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 August 6, 2012 at 07:22 PM by security "Innovation distinguishes between a leader and a follower." Steve jobs.
ribeiro55 Posted August 6, 2012 at 05:13 PM Report #471605 Posted August 6, 2012 at 05:13 PM 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"
security Posted August 6, 2012 at 06:34 PM Author Report #471612 Posted August 6, 2012 at 06:34 PM (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 August 6, 2012 at 08:49 PM by security "Innovation distinguishes between a leader and a follower." Steve jobs.
ribeiro55 Posted August 6, 2012 at 11:25 PM Report #471627 Posted August 6, 2012 at 11:25 PM (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 August 6, 2012 at 11:29 PM 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"
security Posted August 7, 2012 at 10:08 AM Author Report #471642 Posted August 7, 2012 at 10:08 AM 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.
security Posted August 8, 2012 at 07:03 PM Author Report #471770 Posted August 8, 2012 at 07:03 PM ja agora, nao é necessário editar nenhuma configuração do mySql ou do phpmyadmin??? "Innovation distinguishes between a leader and a follower." Steve jobs.
apocsantos Posted August 8, 2012 at 08:30 PM Report #471774 Posted August 8, 2012 at 08:30 PM 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"
ribeiro55 Posted August 10, 2012 at 09:23 AM Report #471935 Posted August 10, 2012 at 09:23 AM 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"
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now