zoukankan      html  css  js  c++  java
  • ASP.NET 2.0中如何连接到Mysql(转)

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

       最近对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” 则会出现以下错误

    Nodriver


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

    然后,

            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: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" 则会出现这种错误。

    <system.data>

        <DbProviderFactories>

          <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

          <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

          <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

          <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

          <add name="SQL Server CE Data Provider" invariant="Microsoft.SqlServerCe.Client" description=".NET Framework Data Provider for Microsoft SQL Server 2005 Mobile Edition" type="Microsoft.SqlServerCe.Client.SqlCeClientFactory, Microsoft.SqlServerCe.Client, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

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

        </DbProviderFactories>

    </system.data>

    三、         MySQL.VisualStudio-1.0.1-beta

    这个主要作用在于可以在vs2005种使用服务资源管理器添加数据库

    这个程序依赖于Connector/Net 5.0和以上的版本.如果没有安装Connector/Net 5.0,那么在添加连接的这个地方添加不了的,一闪而过.


    如果安装了Connector/Net 5.0,则可以按照如下步骤进行

    1


    2


    3


    就ok了.在点击表格后,有几个选项


    可以对表格进行操作了,呵呵.如browse and edit data就可以像察看sql server 一样在vs2005中察看和修改表格数据了(点击tables可以create table)

    最常用的修改表格的画面


    同时还可以建立视图等操作如create view,create routine,create udf


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bruckhaimer/archive/2006/11/15/1385072.aspx

  • 相关阅读:
    Wayland中的跨进程过程调用浅析
    设计模式总结
    C语言---整型字符串转换
    抽象工厂模式
    SVNclient安装与使用
    [置顶] MyEclipse下安装插件方法(properties文件编辑器Propedit为例)
    脑筋急转弯的歧义性
    脑筋急转弯的歧义性
    从和式积分到定积分
    从和式积分到定积分
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912044.html
Copyright © 2011-2022 走看看