O MySQL, considerado “o banco de dados de código aberto mais popular do mundo”, passou por uma longa jornada desde seu início humilde como um servidor de banco de dados de baixo custo até um servidor que gerencia enormes sites e importantes sistemas de negócios. No entanto, se você for um desenvolvedor ASP.NET, sempre encontrará uma insatisfação: o MySQL foi originalmente projetado para aplicativos na plataforma UNIX, portanto, o suporte para Windows é secundário.
Mas agora, a versão Windows do MySQL tem os mesmos recursos e estabilidade da versão UNIX e é considerada um servidor de banco de dados viável para desenvolvimento em Windows. Agora vamos ver como você pode se conectar a um banco de dados MySQL dentro da estrutura .NET usando ODBC.
Instalação
Baixe e instale a versão Windows do MySQL. A instalação é fácil - basta seguir as instruções e você estará pronto e funcionando rapidamente. Se você encontrar um problema, você pode ir ao fórum do MySQL para buscar ajuda e soluções.
Para conectar ASP.NET e MySQL, você precisa usar ODBC.NET. De modo geral, o DataProvider do ODBC.NET faz parte do framework .NET padrão (versão 1.1 e superior), portanto será instalado automaticamente com este último.
Depois de confirmar que o ODBC.NET está instalado, você precisará baixar o driver ODBC para MySQL. Novamente, os desenvolvedores do MySQL ficarão felizes em ajudar - eles fornecem esses drivers em seu site. Você pode ler o documento FAQ ao baixar o arquivo, que listará todos os problemas que você pode encontrar durante a instalação do driver MySQL ODBC em seu sistema.
Tudo pronto? Agora vamos começar com algum código.
Conectando-se ao MySQL com ASP.NET
Uma das minhas coisas favoritas a fazer é ler, e quando não estou escrevendo artigos instrutivos como este, encontro um canto tranquilo para completar minha lista bibliográfica. Infelizmente, não sou uma pessoa muito organizada, então isso muitas vezes causa confusão.
Então, o que isso tem a ver com o assunto sobre o qual falaremos hoje? Bem, esse é o começo do meu primeiro exemplo, que é criar um banco de dados de livros como os da Lista A.
Para criar esta tabela, use a seguinte consulta SQL:
CRIAR TABELA `livros` (
`id` int(5) NOT NULL auto_increment,
`title` varchar(255) NOT NULL padrão '',
`autores` varchar(255) NOT NULL padrão '',
`year_of_publication` ano (4) NÃO NULO padrão '0000',
`date_added` data NÃO NULO padrão '0000-00-00',
CHAVE PRIMÁRIA (`id`)
) TIPO=MeuISAM;
Para executar esta consulta, você deve usar o software cliente de linha de comando "mysql.exe" na pasta "bin" no diretório de instalação do MySQL. A seguir estão os comandos específicos:
c:mysqlbin>mysql -u guest -p teste
Digite a senha: ******
Bem vindo ao monitor MySQL Os comandos terminam com ; ou g.
Seu ID de conexão MySQL é 13 para a versão do servidor: 4.0.12-nt
Digite 'help;' ou 'h' para obter ajuda.
mysql> CREATE TABLE `livros` (
-> `id` int(5) NOT NULL auto_increment,
-> `title` varchar(255) NOT NULL padrão '',
-> `autores` varchar(255) NOT NULL padrão '',
-> `year_of_publication` ano(4) NOT NULL padrão '0000',
-> `date_added` data NÃO NULO padrão '0000-00-00',
-> CHAVE PRIMÁRIA (`id`)
-> ) TYPE=MeuISAM;
Consulta OK, 0 linhas afetadas (0,02 segundos)
Depois que a tabela "livros" for criada, você poderá começar a inserir dados. A Lista B lista alguns itens. Agora faça a mesma coisa com o ASP.NET - execute a consulta SELECT (Listagem C) e exiba os resultados no navegador. Se tudo estiver bem – o servidor MySQL estiver em execução, o driver MySQL ODBC estiver instalado corretamente e a tabela Books contiver dados – você deverá ver uma página como a da Figura A.
a Figura C mostram a mensagem de erro que aparecerá quando o script tentar acessar uma tabela de banco de dados inexistente (observe que as exceções geradas pela estrutura interna "try-catch" serão tratadas pela estrutura externa):
acima é uma introdução a como usar o controle de servidor DataGrid do MySQL e ASP.NET. Há muito mais a ser dito sobre como você pode usar essas duas tecnologias, então espero que este artigo e os outros recursos de referência fornecidos acima ajudem você a ter uma ideia disso.