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 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