ASP.NET 2.0中如何连接到Mysql(转)-阿里云开发者社区

开发者社区> 技术小美> 正文

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


本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2009/12/11/2912044.html  ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
.Net网络编程——使用TcpClient与TcpListener建立客户端与服务端连接
              一,.NET中如何实现建立连接                         在网络中,我们可以通过IP地址唯一定位一台主机,而在主机中,我们要确定收到的数据包发给谁,可以通过端口号,端口号的作用简单说就是不至于使你要发给QQ好友的消息数据包被错误发到了你的OC程序上。
971 0
.Net网络编程——服务端获取客户端连接
一,客户端服务端连接图示          其中,在客户端和服务端的socket中,都报存这连接的信息;客户端通过connect连接,服务端可以调用AcceptTcpClient来获取链接到服务端的客户端,每一个客户端和服务端的连接都对应这唯一一个Socket.
699 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4444 0
asp.net连接Access数据库
Dim myConnection As OleDbConnection     Dim myCommand As OleDbCommand    sub page_load(sender as Object,e as EventArgs)     '1.
691 0
一起谈.NET技术,Server-push技术(comet)----------asp.net中的异步处理+client与服务器端的长连接
  server-push技术已经面世很久了,但直到GTALK的诞生才慢慢的引导出这项技术,不过到现在为止,也很少有人去应用这方面的技术,server-push倒底是一个什么样的东西呢?   故名思义,server-push即“服务器推”的意思,ajax大家都用过,它和server-push是完全相反的两个东西,ajax是从服务器端拉取数据,如果要定期更新页面上显示的数据块,那么最简单的方法就是写个计时器,server-push则不同,它的本质是将client与server建立一个长连接,即连上后不断开,一旦服务器端有新的数据就将其推送到客户端,讲到这里出现了几个问题。
868 0
+关注
4435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载