Académique Documents
Professionnel Documents
Culture Documents
http://www.macoratti.net/net_msql.htm
Volto ao assunto para mostrar como acessar o MySQL via VB.NET usando o provedor especfico para o MySQL, sem precisar usar um provedor ODBC. Vou usar o provedor MySQL Connector/NET que voc pode baixar do site do
MySQL. Antes de iniciar o projeto VB.NET para realizar a conexo voc vai precisar ter os seguintes componentes instalados:
Existem 3 sabores disponveis : Windows Essentials, Windows, e Without installer .Para os propsitos deste artigo o
sabor Windows Essentials pode ser usado sem problema algum. Faa o download e instale o MySQL seguindo as instrues.
1 de 6
02/05/2013 17:22
Acessando o MySQL
http://www.macoratti.net/net_msql.htm
Neste artigo eu vou migrar o banco de dados northwind.mdb com todas as suas tabelas para o MySQL usando uma ferramenta grtis chamada Access to MySQL que voc pode pegar no endereo : http://www.bullzip.com /download.php O Access to MySQL que converte o seu banco de dados Access para MySQL e possui os seguintes recursos: Uma interface grfica com assistente. Transfere os dados diretamente de um servidor para outro Cria um arquivo dump. Permite a seleo das tabelas a transferir. Permite a seleo de campos a transferir. Transferncia opcional de indexes. Transferncia opcional de registros Transferncia opcional de valores padro e definies de campos Identifica e transfere campos do tipo auto-numerao Possui uma interface de linha de comando Aps baixar o Acess to MySQL execute-o e aps a primeira tela voc dever informar o caminho do banco de dados Access que deseja migrar:
A seguir informe os parmetros para efetuar a conexo com o MySQL. (Eu estou me conectando como root mas aconselhvel criar um novo usurio.)
2 de 6
02/05/2013 17:22
Acessando o MySQL
http://www.macoratti.net/net_msql.htm
Antes de efetuar a migrao voc pode selecionar se deseja transferir os ndices e os registros e as informaes padro e auto-numerao dos campos.
Pronto ! Seu banco de dados Access virou MySQL... Vamos usar a ferramenta MySQL Query Browser para visualizar as tabelas e os registros para verificar se tudo ocorreu sem problemas. Ao iniciar o MySQL Query Browser voc dever informar os parmetros para efetuar a conexo com o MySQL:
3 de 6
02/05/2013 17:22
Acessando o MySQL
http://www.macoratti.net/net_msql.htm
Aps a conexo podemos visualizar o banco de dados northwind e suas tabelas. Selecionando a tabela customers podemos exibir os registros conforme figura abaixo:
4 de 6
02/05/2013 17:22
Acessando o MySQL
http://www.macoratti.net/net_msql.htm
Imports MySql.Data.MySqlClient
E a seguir podemos declarar as variveis usadas no projeto no incio do formulrio form1.vb:
Dim conn As New MySqlConnection Dim myCommand As New MySqlCommand Dim myAdapter As New MySqlDataAdapter Dim myData As New DataTable Dim SQL As String
Agora vamos incluir o cdigo que faz a conexo com o MySQL e acessa o banco de dados northwind exibindo os registros da tabela employees. Vou colocar o cdigo no evento Load do formulrio form1.vb:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As MySqlConnection conn = New MySqlConnection conn.ConnectionString = "server=localhost;user id=root;password=mac;database=northwind" SQL = "SELECT * FROM northwind.employees" Try conn.Open() Try myCommand.Connection = conn myCommand.CommandText = SQL myAdapter.SelectCommand = myCommand myAdapter.Fill(myData) DataGrid1.DataSource = myData Catch myerro As MySqlException MsgBox("Erro de leitura no banco de dados : " & myerro.Message) End Try MessageBox.Show("Conexo aberta com sucesso") conn.Close()
5 de 6
02/05/2013 17:22
Acessando o MySQL
http://www.macoratti.net/net_msql.htm
Catch myerro As MySqlException MessageBox.Show("Erro ao conectar com o Banco de dados : " & myerro.Message) Finally conn.Dispose() End Try End Sub
Veja a string de conexo usada : conn.ConnectionString = "server=localhost;user id=root;password=mac; database=northwind" (No muito legal exibir a senha em aberto no mesmo???) E instruo SQL menciona o banco de dados e a tabela usada : SQL = "SELECT * FROM northwind.employees" O resto do cdigo idntico aos demais exemplos j exibidos no site para Access e SQLServer. Ao final teremos os registros da tabela employees exibidos no datagrid conforme figura :
Meu objetivo foi mostrar como realizar a conexo com o MySQL sem usar ODBC e ele esta cumprido. A partir deste ponto as demais operaes so semelhantes ao que j foi discutido em diversos artigos sobre acesso a dados no site. Pegue o projeto aqui : mySqlNet.zip. O resto, agora com voc...
6 de 6
02/05/2013 17:22