您好,欢迎访问一九零五行业门户网

LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的简单总结_MySQL

bitscn.com
近准备把pdf.net框架的开源项目“超市管理系统”移植到linux上跑(演示地址:http://221.123.142.196),使用jexus服务器和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
6,mysql数据管理:
可以使用apache的phpadmin来管理mysql,但还得装apache 的php运行时,这里推荐一款cs方式的数据库管理软件,pdf.net集成开发工具,很方便管理mysql的,可以执行建库等操作。
(该工具下载地址:http://ft.codeplex.com/releases/view/65308 )
bitscn.com
其它类似信息

推荐信息