zoukankan      html  css  js  c++  java
  • [ MySQL ] MySQL开发初步测试 5.0.24a + ByteFX.Data 0.76

        从MySQL网站http://www.mysql.com/products/下载安装MySQL Server和GUI工具。安装好之后,默认的用户名为root。
     
        MySQL for .Net的驱动(Provider),可以使用ByteFX.Data,从http://sourceforge.net/projects/mysqlnet/下载。也可以使用MySQL官方的驱动MySQL Drivers。
     
        故障问题收集
        1. Client does not support authentication protocol requested by server
        场景:MySQL Server 5.0,ByteFX.Data 0.76,执行MySqlConnection.Open()时报错。
        原因:MySQL后来的版本跟之前的版本密码加密的Hash算法或Code不一样,而ByteFX.Data 0.76这样的Provider或者是MySQL的ODBC驱动等,在新的Server版本之下用的仍然是老的加密方法,造成MySQL登陆故障。
        解决:SET PASSWORD FOR root@localhost = OLD_PASSWORD('New Password');
     
        2. Data too long for column 'xx' in row 1
        场景:MySQL Server 5.0,ByteFX.Data 0.76,执行Insert语句,字段值中有中文,报上面的错误
        原因:MySQL 5.0字符集处理的问题
        解决:
        将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
        [mysql]
        default-character-set=gbk
        [mysqld]
        default-character-set=gbk
        将表和字段的字符集属性都改成gbk。
        在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。
     
        开发示例代码:
        1. 参数化方式 使用ByteFX.Data完整示例    
    使用参数化方式

        2. 使用Batch Insert方式(执行效率跟参数化方式基本一样)   
    使用Batch Insert方式
  • 相关阅读:
    杭电2031进制转换
    杭电2033人见人爱A+B
    【转】到底怎么样才叫看书?
    方便单个实体更新的DbContext扩展方法,比如Edit页面
    使用Newtonsoft.Json
    代码配置 vs. 配置文件
    进程到创建
    C#+VBA 操作EXCEL(转)
    基于定位的社交应用Foursquare开源网址(wp7)
    深入理解计算机系统实验
  • 原文地址:https://www.cnblogs.com/RicCC/p/603464.html
Copyright © 2011-2022 走看看