在godaddy主机空间使用asp.net连接mysql数据库成功,中文不乱码了。

[ At 12/15/2010 By wukong   3 comments ]

 

使用godaddy已经3年多,长久以来一直使用asp.net+access数据库,godaddy提供的mssql数据库对于我来说基本属于鸡肋,太小还有些许限制。godaddy提供的mysql数据库挺好,买了无限主机会有1G*无限个数的mysql。看着眼馋啊。

前一段已经折腾了很久了,为了正常使用godaddy提供的mysql数据库,我进行了很多尝试,前期使用oleddb和odbc方式连接mysql数据库也都尝试成功了,可数据库中文乱码问题一直没有解决,郁闷之极。

昨晚突然想到何不尝试一下mysql自家提供的组件mysql connector net会有什么效果呢,也许就解决了godaddy空间mysql数据库中文乱码问题了呢。

今天早上上班就开始尝试,参照了一个老外的博客文章,经过一番折腾终于成功,记录我们能看懂的中文步骤如下(看英文文章浪费了不少脑细胞):

首先,要从mysql网站下载mysql connector net组件安装包。可以点击这里下载 。下载后安装它。

然后新建一个asp.net项目,至于.net框架版本,只要是2.0以上就行。

在项目里添加对mysql connector net组件的引用,对于winform来说应该是引用mysql.data.dll即可,对于asp.net还要引用一个mysql.web.dll,这两个文件分别在刚才安装的mysql connector net组件的安装目录 "D:\Program Files\MySQL\MySQL Connector Net 5.2.3\Binaries\.NET 2.0\mysql.data.dll" 和 "D:\Program Files\MySQL\MySQL Connector Net 5.2.3\Web Providers\mysql.web.dll",这里注意,我的默认安装到d盘了,要根据实际情况去找自己的文件哦。[悟空原创文章,打字不容易,转载请留名www.7es.cn]

添加完引用还得修改web.config添加对mysql引擎的支持节点,这个至于不添加行不行我也没测试,不要偷懒,还是添加上为好,想折腾的朋友可以自己试试不添加会不会成功。添加位置是在<system.web>节点里,添加下面一段标签

 
  1. <membership defaultProvider="MySQLMembershipProvider">
  2.   <providers>
  3.     <clear/>
  4.     <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="currentCS" applicationName="/" passwordFormat="hashed" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false"/>
  5.   </providers>
  6. </membership>
  7. <roleManager enabled="true" defaultProvider="MySQLRoleProvider">
  8.   <providers>
  9.     <clear/>
  10.     <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=5.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="currentCS" applicationName="/"/>
  11.   </providers>
  12. </roleManager>

 

最后,开始写代码呗,我就在页面里写了一段测试代码,方法和使用sqlserver数据库或者access数据库的是一样的,没什么区别

 
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data.OleDb;
  8. using System.Data;
  9. using MySql.Data.MySqlClient;
  10.  
  11. namespace s
  12. {
  13.     public partial class _Default : System.Web.UI.Page
  14.     {
  15.         /// <summary>
  16.         /// 悟空注:下面的代码里服务器地址和数据库名等我标注为中文了,各自根据自己情况修改代码即可
  17.         /// 悟空的博客 www.7es.cn
  18.         /// </summary>
  19.         /// <param name="sender"></param>
  20.         /// <param name="e"></param>
  21.         protected void Page_Load(object sender, EventArgs e)
  22.         {
  23.             // 悟空的博客 www.7es.cn
  24.             MySqlConnection conn = new MySqlConnection("Server=服务器地址; Port=3306; Database=数据库名; Uid=用户名; Pwd='密码';");
  25.             conn.Open();
  26.             MySqlCommand cmd = new MySqlCommand("select * from 表名", conn);
  27.             MySqlDataReader dr = cmd.ExecuteReader();
  28.             if (dr.Read())
  29.             {
  30.                 Response.Write(dr["字段名"].ToString());
  31.             }
  32.             dr.Close();
  33.             dr.Dispose();
  34.             cmd.Dispose();
  35.             Response.Write("<br>end");
  36.  
  37.         }
  38.     }
  39. }

在godaddy主机空间使用asp.net连接mysql数据库成功,中文不乱码了。 悟空原创文章,转载请保留链接 http://www.7es.cn/Software_development/godaddy-hosting-asp-net-use-mysql.shtml

代码写好了,代码里服务器地址、用户名什么的改成自己的实际的godaddy空间的mysql数据库连接信息,就可以上传到godaddy空间里测试了,看看你的mysql数据库存中文读取出来还是不是乱码,呵呵,很好。

欢迎遇到此类问题的朋友跟我交流,我的博客www.7es.cn ,网上用godaddy空间的朋友不少,像我一样实际遇到godaddy空间asp.net连接mysql有乱码问题的朋友好像也有,不过最终解决的好像没见谁发布方法,不容易,大家相互帮助吧,祝大家的网站越做越好。

 最后忘了说一声了,一定要注意,编译后的代码bin目录不包含mysql.data.dll和mysql.web.dll,要从原目录里复制过来一并传到空间里,不然会出错提示找不到程序集的。

« 用win7搭建wifi热点jquery如何判断页面上对象是否可见 »
  • 1.alikaka
  • 不行啊...用你的方法还是不好使.错误:The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

  • 1/2/2011 12:45:59 AM 回复该留言
  • 2.alikaka
  • 经过了1天的折腾,终于好使了.谢谢~
    另外,不用再web.config中添加那段代码也可正常读写
  • 1/2/2011 8:49:56 PM 回复该留言
  • 3.jinyu
  • 不行啊
    Security Exception
    Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
  • 1/12/2011 7:55:17 PM 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 空空如也 

Copyright 167-2009 www.7es.cn . Some Rights Reserved. Email:iamwgh@msn.com QQ:49556
Friends site:Null