ASP.NET 2.0中如何连接到Mysql
2006-11-15 09:11
561 查看
最近对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
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/nodriver.JPG)
二、 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
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/conn1.JPG)
2
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/conn2.JPG)
3
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/conn3.JPG)
就ok了.在点击表格后,有几个选项
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/xuanxiang.JPG)
可以对表格进行操作了,呵呵.如browse and edit data就可以像察看sql server 一样在vs2005中察看和修改表格数据了(点击tables可以create table)
最常用的修改表格的画面
![](http://p.blog.csdn.net/images/p_blog_csdn_net/bruckhaimer/xiugai.JPG)
同时还可以建立视图等操作如create view,create routine,create udf
以上就是总结几个连接方式,初次发表,如有错误,欢迎指正。
一、 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
以上就是总结几个连接方式,初次发表,如有错误,欢迎指正。
相关文章推荐
- ASP.NET 2.0中如何连接到Mysql(转)
- ASP.NET 2.0中如何连接到Mysql(转)
- ASP.NET 2.0使用user profile储存信息前,如何部署aspnetdb.mdf和正确建立连接
- ASP.NET 2.0使用user profile储存信息前,如何部署aspnetdb.mdf和连接
- 搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
- ASP.NET 2.0使用user profile储存信息前,如何部署aspnetdb.mdf和正确建立连接
- Asp.Net 2.0连接ACCESS数据库相对路径问题,web.config中如何使用相对路径
- ASP.NET 2.0使用user profile储存信息前,如何部署aspnetdb.mdf和连接
- 通过Mysql连接ASP.Net Core2.0(Code First模式)
- 如何在 32 位版本的 ASP.NET 1.1 和 64 位版本的 ASP.NET 2.0 之间切换
- [ASP.NET 2.0 Security FAQs]如何设置SQL Server或SQL Express数据库,使其支持Membership、Profiles和Role
- [转]ASP.NET 2.0如何实现数据库应用开发
- 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置
- [导入]using MySQL 5 with ObjectDataSources in ASP.NET 2.0
- 在 64 位版本的 Windows 上,如何在 32 位版本的 ASP.NET 1.1 和 64 位版本的 ASP.NET 2.0 之间切换
- ASP.NET 2.0 遍历配置文件的数据库连接字符串
- Asp.net Mvc 使用EF6 code first 方式连接MySQL总结
- [导入]ASP.NET 2.0 遍历配置文件的数据库连接字符串
- ASP.NET如何调用MySQL的存储过程
- ASP.NET 2.0中连接字符串的设置