LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的簡單總結

來源:互聯網
上載者:User

近準備把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伺服器作者“宇內流雲”和網友“斌”的大力支援,在他們的協助下我才成功!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.