Usar base de dados MySQL com ASP.NET

Conectar a uma base de dados MySQL pode ser simples, e o uso deste tipo de bases de dados é uma mais valia devido aos grandes custos de outras existentes, onde o MySQL mesmo sendo gratuito compete directamente em fiabilidade e estabilidade.

Para poder usar o MySQL (http://www.mysql.com) no seu servidor com Framework .NET v1.0 ou v1.1 terão de seguir alguns passos:

  1. Instale o MyODBC (http://www.mysql.com/downloads/api-myodbc-3.51.html), depois de ter efectuado o download e a instalação, precisa de criar uma conexão DSN indo a Program Files > Administrator Tools > DataSource ODBC, indo depois a System DSN, carregar em Add, e escolher no fundo da lista MySQL ODBC 3.51 Driver, depois por os parâmetros necessários à sua conexão com o MySQL.
  2. Instale o ODBC .NET Data Provider (pode obtê-lo aqui).  Este componente é um add-on da framework .NET, este permite o acesso aos drivers de raiz da mesma forma que o OLEDB.NET o faz com os dispositivos OLE DB.
    Só tem de instalar depois de feito o download com sucesso.
  3. Se não tiver instale o MDAC 2.7 (http://www.microsoft.com/data/download_270RTM.htm), no caso de ainda não o ter, faça o download e instale o mesmo, pare os serviços de internet e relativos às bases de dados que tiver a correr da Microsoft.

Depois pode experimentar com um exemplo simples:

<%@ Page Language="VB" Debug="True" CompilerOptions='/R:"C:ProgramFilesMicrosoft.NETOdbc.NetMicrosoft.Data.Odbc.dll"' %><%@ Import Namespace="System.Data" %>
<%@ Import Namespace="Microsoft.Data.ODBC" %>
<script runat="server">
 
Dim strConexao As String = "DSN=mysqldsn"
Dim objConexao As New ODBCConnection(strConexao)
 
 Public Sub Page_Load (obj AsObject, e As EventArgs)
 
  If Not Page.IsPostBack Then
 
   Dim objComando As New ODBCCommand
   Dim objAdaptadorDados As New ODBCDataAdapter
   Dim dv As DataView
   Dim ds As New DataSet
   Dim strSQL As String
 
   strSQL = "SELECT * FROM MinhaTabela"
 
   objAdaptadorDados = New ODBCDataAdapter(strSQL, objConexao)
   objAdaptadorDados.Fill(ds, "MinhaTabelae")
 
   dv = ds.Tables("MinhaTabelae").DefaultView
 
   MyDataGrid.DataSource = dv
   MyDataGrid.DataBind()
 End If
End Sub
</script>
 
<html>
 <head>
 </head>
 <body>
  <asp:datagrid id="MyDataGrid" runat="server" />
</body>
</html>

Não se esqueça de alterar o caminho do local onde estão o ficheiro Microsoft.Data.Odbc.dll, e sim pode por o mesmo no directório /bin do seu website.

Poderão também deixar de usar o CompilerOptions se incluir no ficheiro machine.config o seguinte código:

<dependentAssembly>
  <assemblyIdentity name="Microsoft. Data.O dbc" cKeyToken="b77a5c561934e089"/>
</dependentAssembly>

E assim fica explicada a forma de conectar ao MySQL, uma base de dados que vale todo o esforço que venhamos a dar à mesma. Os valores que é preciso suportar em bases de dados caras não tem sentido com a existência do MySQL (http://www.mysql.com).