最近对mysql比较感兴趣,结合海风本人正在学习的asp.net 2.0,就像如何在asp.net 2.0中使用它,通过多方试验总结,归纳起来,在asp.net中,连接到mysql主要有以下几种方式(这些都是免费的连接方式,有些付费控件,不符合自由精神,不加考虑,呵呵)

一、         odbc

通过使用针对mysql的odbc驱动,在页面中连接到mysql。

1.         下载地址:

3.51版本

​http://dev.mysql.com/downloads/connector/odbc/3.51.html​

有两个版本,安装版和不用安装版

5.0版本

​http://dev.mysql.com/downloads/connector/odbc/5.0.html​

2.         安装

这个版本也有两个版本

安装版和不用安装版

对于安装版本来说,比较容易,直接下载后就按照提示安装了。

安装后在odbc管理器里就可以直接添加dsn了。

3.         使用

首先在页面顶部导入命名空间


            <%@ Import Namespace="System.Data.ODBC" %>


连接字符串:

"Driver={MySQL ODBC 3.51 Driver}; Server=YourServerIP; database=YourDB;uid=YourUID;password=YourPWD; Option=3; "


  如果没有写providername=”system.data.odbc” 则会出现以下错误

    ASP.NET 2.0中如何连接到Mysql(转)_.net

 

二、         Connector/Net

这里边有两个版本

Connector/Net 1.0

1.         下载地址:

​http://dev.mysql.com/downloads/connector/net/1.0.html​

2.         安装

这个版本支持asp.net 1.0 \asp.net 2.0

也分安装版和不安装版

可以直接将下载后mysql Connector/Net 1.0.7 bin中的mysql.data.dll添加到应用程序中的bin文件夹中。

3.         使用

首先,导入命名空间

<%# import namespace=”mysql.data.mysqlclient”>

  可以在应用程序根目录的web.config 中加入 

 


   <pages>

              <namespaces>

                   <clear/>  

                   <add namespace="mysql.data.mysqlclient"/>

              </namespaces>

   </pages>


然后,


ASP.NET 2.0中如何连接到Mysql(转)_ide_02ASP.NET 2.0中如何连接到Mysql(转)_sql_03代码

        Dim myConnection As MySqlConnection

        Dim myDataAdapter As MySqlDataAdapter

        Dim myDataSet As DataSet 

        Dim strSQL As String

        Dim iRecordCount As Integer 

        myConnection = New MySqlConnection("server=localhost; user id=root; password=12345; database=mydatabase; pooling=false;") 

        strSQL = "SELECT * FROM mytable;" 

        myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)

        myDataSet = New Dataset()

        myDataAdapter.Fill(myDataSet, "mytable")

        MySQLDataGrid.DataSource = myDataSet

        MySQLDataGrid.DataBind()


  但是这个版本的主要问题是不支持sqldatasource这样的声明式编程(有待详细考证)

 


ASP.NET 2.0中如何连接到Mysql(转)_ide_02ASP.NET 2.0中如何连接到Mysql(转)_sql_03代码

<asp:SqlDataSource ID="SqlDataSource1"

        runat="server"

        ConnectionString="Data Source=100.100.100.46;User ID=root"

        ProviderName="MySql.Data.MySqlClient"

        SelectCommand="SELECT * FROM mysql">

</asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">

</asp:GridView>



 

Connector/Net 5.0.2

1.         下载地址

​http://dev.mysql.com/downloads/connector/net/5.0.html​

2.         安装

安装的时候可以直接安装,一路next就ok

安装版会直接把"MySQL Data Provider"添加到machine.config,可以直接使用

No-install版本可以直接把

mysql-connector-net-5.0.2-beta-noinstall\mysqlclient\bin\net-2.0\release中的MySql.Data.dll 文件复制到应用程序bin文件夹,但还不够,这时候如果使用,则会出现以下错误。

找不到请求的 .Net Framework 数据提供程序。可能没有安装。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 找不到请求的 .Net Framework 数据提供程序。可能没有安装。

 

根本在于没有在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG中machine.config(xml文件)中没有注册<DbProviderFactories>

在machine.config文件中有这么一段,如果没有name="MySQL Data Provider"则会出现这种错误。

 


ASP.NET 2.0中如何连接到Mysql(转)_ide_02ASP.NET 2.0中如何连接到Mysql(转)_sql_03代码

  <system.data>

    <DbProviderFactories>

      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.1.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

    </DbProviderFactories>

  </system.data>



 

 

 ​