mono mysql jexus,Linux +MySQL+mono +Jexus 上使用MySQL的简单总结 - Linux DotNET程序员大本营...

最近准备把PDF.NET框架的开源项目“超市管理系统”移植到Jexus上跑(演示地址:http://221.123.142.196),使用MySQL数据库,相对使用SQLite而言,用MySQL问题比较多,但最后还是一一解决了,先总结如下:

1,MySQL驱动:

有人说在mono 下跑MySQL需要老点的MySQL驱动,我实验发现跟此无关,我用的驱动 MySQL.Data.dll 版本是 6.3.6,在mono 3.0.3 下跑是没有问题的。

2,MySQL服务的版本:

这个有点关系,我测试了2个MySQL服务版本,一个5.0.95,一个是 5.5.28 ,前者出错的时候,换到后者的数据库又发现没有问题了,看来版本高点好。

3,MySQL的编码问题:

为了使用中文,数据库所有语言设置都成UTF-8,或者在连接字符串设置编码(CharSet=utf8) :

---------

server=ip;User Id=uid;password=pwd;CharSet=utf8;DataBase=SuperMarket;Allow Zero Datetime=True

----------

4,MySQL日期字段类型:

其实这个问题跟网站的“语言文化设置”有关,在拼接SQL的时候,直接DateTime.ToString() 的时候会有不同的格式,而MySQL的语言文化设置跟网站不一样,即会出问题。

另外,有时日期字段只保存了日期部分,没有保存时间部分,或者时间日期字段为空,会导致查询错误,这是可以在连接字符串中增加“Allow Zero Datetime=True”设置。

最佳解决方案是使用Ado.net 的参数化查询。

PS:PDF.NET框架的OQL,数据控件都是参数化查询的。

5,Web.config文件有关语言文化的设置:

由于mono 3.0.x 目前还不是正式版本,所以它的ASP.NET中语言文化只支持 en-US,而通常情况下默认的是当前系统的语言文化设置,比如zn-CH,但框架又不支持,于是MySQL无法获知当前要使用的设置,报错。

具体设置方法是在

... ...

或者另外一个方案,就是使用mono 2.10.8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值