VB .NET - Acessando o MySQL usando o ODBC .Net Data Provider
O ODBC .NET Data provider permite o acesso a banco de dados ODBC através de um driver ODBC nativo da mesma forma que os provedores nativos OLE DB.
A grande vantagem em usar os provedores ADO.NET é que todos eles definem a mesma hierarquia de classes , e , por isso a única coisa que você tem que alterar são as classes e a string de conexão.
Diferentemente dos provedores - SQL e OleDb - o provedor ODBC precisa ser instalado a parte do .NET Framework , então a primeira coisa a fazer é pegar o provedor no site da Micro$oft - (http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/MSDN-FILES/027/001/668/msdncompositedoc.xml ).
Após instalar o OBDC .NET temos que customizar a barra de ferramentas (toolbox) para incluir os componentes de dados ODBC. Vamos fazer isto:
| 
 | 
 | 
| Figura 1.0 | Figura 2.0 | 
|  | Agora para poder usar o ODBC no seu
        projeto VB.NET você precisa incluir uma referência a 
		Microsoft.Data.Obdc.dll. Estando no seu projeto , em - 
		Solution Explorer - e clique com o botão direito
        do mouse e selecione a opção - 
		Add Reference...
        (veja figura ao lado) Na janela - Add Reference - clique no botão - Browse. O arquivo Microsoft.Data.Obdc.dll esta na pasta : \Arquivos de Programas\Microsoft.NET\Obdc.NET 
		 Selecione o componente e clique no botão Open para incluir uma referência | 
Após a inclusão as referências irão aparecer na janela - Add Reference - e no seu projeto , na janela - Solution Explorer ; conforme abaixo
|  | 
 | 
Pronto , agora basta inserir o código que trata as informações da fonte de dados e fazer a referência no código da classe do OBDC:
Imports Microsoft.Data.Obdc
As classes do provedor ODBC.NET são :
| OdbcCommand | Representam o comando SQL ou Procedimento armazenado a ser executado | 
| OdbcCommandBuilder | Gera automaticamente comandos select , insert , update e delete | 
| OdbcConnection | Representa uma conexão | 
| OdbcDataAdapter | Representa um Data adapter | 
| OdbcDataReader | Representa um data reader | 
| OdbcError | Representa os erros e avisos | 
| OdbcErrorCollection | Representa uma coleção de erros e avisos | 
| OdbcException | Representa a classe de exceção ODBC | 
| OdbcParameter | Representa um parâmetro ODBC | 
| OdbcTransaction | Representa uma transação | 
A string de conexão para OdbcConnection contém o driver para a fonte de dados (data source ) e o caminho para a fonte de dados com os parâmetros opcionais para senha ( Password) e usuario (User). Vejamos as strings de conexão para alguns casos:
| "Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;UID=obdcuser;PWD=123456" | Oracle | 
| "Driver={SQL Server};SERVER=MyServer;UID=sa;Trusted_connection=true;DATABASE=northwind;" | SQL Server | 
| "Driver={Microsoft Access Driver(*.mdb)};DQB=c:\SeuBancodeDados.mdb" | Access | 
| "Driver={Microsoft Excel Driver(*.xls)};DQB=c:\teste\planilha.xls" | Excel | 
| "Driver={Microsoft Text Driver(*.txt; *.csv)};DQB=c:\teste" | Arquivos Textos | 
| "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=Clientes;uid=root;pwd=" | MySQL <<< | 
Obs: Você pode usar um DSN - ODBC Data Source - como uma string de conexão através do Administrador ODBC.
Ex: conexão = New OdbcConnection("DSN=DADOS;UID=Macoratti;pwd=Teste")
Vou mostrar como acessar um banco de dados MySQL usando o provedor ODBC .NET. Se você ainda não tem o MySQL instalado você pode fazer o download de uma das versões disponíveis no link : http://www.mysql.com/downloads/index.html . A instalação é simples basta descompactar e seguir as instruções .
Considerando que seu MySql esta instalado vamos agora criar um banco de dados com o nome de Clientes no MySql e neste banco de dados vamos criar a tabela Clientes e inserir alguns dados. Para facilitar o nosso serviço vamos usar uma ferramenta free para fazer este serviço: DBtools Manager , que você pode pegar em : http://www.dbtools.com.br/EN/
Nota: No link : http://www.mysql.com/downloads/api-dotnet.html você pode pegar o driver MySQL para usar na plataforma .NET ( veremos isto em outro artigo.)
Após instalar o DBtools inicie a ferramenta e crie um servidor MySQL na Menu Tools opção Server -> Server Manager ; a seguir vamos criar um novo banco de dados clicando no ícone Database com direito do mouse e selecione a opção Create Database e chamá-lo Clientes.
|  |  | 
Criado o banco de dados vamos usar o Table Editor para criar uma nova tabela , chamada Clientes , e definir a sua estrutura conforme abaixo :

A próxima etapa é inserir alguns dados na tabela Clientes , conforme figura abaixo:
|  | 
Bem , já temos o banco de dados , a tabela com os dados , só falta agora criar um projeto no VS.NET , e, usando o VB.NET fazer uma conexão via ODBC .NET para exibir os dados em um controle ListBox. Vamos lá...
1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)
2 - No formulário padrão form1.vb inclua uma controle ListBox e um botão de comando - Button1.
3- Insira o seguinte código no evento Click do botão de comando - Button1 :
| Dim conexao As OdbcConnection Dim dr As OdbcDataReader Dim sql As String = "Select * from Clientes" Dim strsql As String Dim conexao As OdbcConnection strsql = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=Clientes;uid=root;pwd=;" conexao = New OdbcConnection(strsql) conexao.Open() Dim cmd As OdbcCommand = New OdbcCommand(sql, conexao) Try dr = cmd.ExecuteReader(CommandBehavior.CloseConnection) Catch ex As Exception MsgBox(ex, MsgBoxStyle.Information) End Try While (dr.Read()) ListBox1.Items.Add(dr("Nome")) End While dr.Close() conexao.Close() conexao = Nothing End Sub | 
A string de conexão é a seguinte :
strsql = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=Clientes;uid=root;pwd=;"
Nela temos definidos :
Ao executar o projeto e clicar no botão de comando vamos obter os dados que foram inseridos na tabela Clientes no MySQL.

Obs: O acesso a dados via ODBC é mais lento do que usar um provedor nativo Ole DB. Somente o utilize se não tiver alternativa.
referências: 
 HOW TO: Use the ODBC .NET Managed
Provider in Visual Basic .NET and Connection Strings
 
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique 
	e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? | 
  
    Gostou ?   Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
  
  
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET
