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

近准备把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的语言文化设置跟网站不一样,即会出问题。

另外,有时日期字段只保存了日期部分,没有保存时间部分,或者时间日期字段为空,会导致查询错误,

比如网站语言文化设置是 en-US,那么日期变量在SQL拼接的时候是这个样子的: '2013-3-2 10:10:1 AM' ,插入数据的时候不会报错,但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无法获知当前要使用的设置,报错。 具体设置方法是设置 uiCulture=“en-US”,在

<system.web>
 <globalization culture="zh-CN" uiCulture="en-US"/>
... ...
</system.web>

 或者另外一个方案,就是使用当前稳定版本的 mono 2.10.8

6,MySQL数据管理:

可以使用Apache的PhpAdmin来管理MySQL,但还得装apache 的PHP运行时,这里推荐一款CS方式的数据库管理软件,PDF.NET集成开发工具,很方便管理MySQL的,可以执行建库等操作。

(该工具下载地址:http://ft.codeplex.com/releases/view/65308

------------------------------------------------------------------

PS:为了移植到MySQL,感谢Jexus服务器作者“宇内流云”和网友“斌”的大力支持,在他们的帮助下我才成功!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小程序·云开发专栏

手把手教会你小程序登录

首先大家看到这张图,肯定会注意到小程序进行通信交互的不止是小程序前端和我们自己的服务端,微信第三方服务端也参与其中,那么微信服务端在其中扮演着怎样的角色呢?我们...

1.4K20
来自专栏pangguoming

(十一) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图...

18020
来自专栏杨建荣的学习笔记

MySQL审计插件使用和对比

数据库审计是数据库安全中很重要的一个环节,说到审计,有些上市公司内部还会根据塞班斯法案,进行404审计等等。 而最基本的审计还是需要的,有些同学可能...

82990
来自专栏FreeBuf

MySQL曝中间人攻击Riddle漏洞,可致用户名密码泄露

针对MySQL 5.5和5.6版本的Riddle漏洞会经由中间人攻击泄露用户名密码信息。请尽快更新到5.7版本。 Riddle漏洞存在于DBMS Oracle ...

24690
来自专栏iMySQL的专栏

在 MySQL 5.7下排查内存泄露和 OOM 问题全过程

我的个人网站后台使用的是 MySQL 5.7 版本,前段时间经常被oom-kill,借助5.7的新特性,经过一番排查,终于抓到这只鬼。

1.6K00
来自专栏北京马哥教育

LINUX上MYSQL优化三板斧

云豆贴心提醒,本文阅读时间7分钟 现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简...

32470
来自专栏weixuqin 的专栏

基于 Django 的手机管理系统

20540
来自专栏张戈的专栏

Windows下获取网络连线实际名称,加强IP类设置脚本的兼容性

在之前的工作中,由于分区域管理,TCP 设置有差异,所以编写过很多关于 IP 切换的脚本,作为大批量电脑维护的脚本,最重要的就是兼容性,可不能就测试的那几台电脑...

28440
来自专栏流浪猫的golang

mongodb 学习随笔 及golang 连接mongoDB

Mogondb 不支持事务。所有有事务要求的需求慎用,比如银行的转账操作慎用,转1个亿美金,因为网络,电力的故障导致交易没有完成,不能回滚,交易无法撤回。所有慎...

15010
来自专栏喔家ArchiSelf

老曹眼中的MySQL调优

对于全栈而言,数据库技能不可或缺,关系型数据库或者nosql,内存型数据库或者偏磁盘存储的数据库,对象存储的数据库或者图数据库……林林总总,但是第一必备技能还应...

14430

扫码关注云+社区

领取腾讯云代金券