IBatisNet + MySql(ByteFX)

在IBatisNet使用ByteFX链接MySql,故障问题收集

    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方式(执行效率跟参数化方式基本一样)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值