新聞中心
以下的文章介紹的是用MySQL數(shù)據(jù)庫(kù)出現(xiàn)N多問題,我們大家都知道系統(tǒng)用 access數(shù)據(jù)庫(kù),沒有任何的問題出現(xiàn),但是隨著數(shù)據(jù)量不斷的增加,其相關(guān)性能下降的很快,但是最起碼,沒有錯(cuò)。

在臨汾等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,臨汾網(wǎng)站建設(shè)費(fèi)用合理。
后臺(tái)考慮到未來發(fā)展,轉(zhuǎn)移到MySQL數(shù)據(jù)庫(kù)平臺(tái),結(jié)果一下子就出現(xiàn)了一堆問題。
1. 中文字符不支持。
這個(gè)就夠我忙幾個(gè)小時(shí)了,又是修改my.ini,又是修改鏈接字符串。總算搞好了。
2. 插入時(shí)間格式不支持
簡(jiǎn)直吐血了。在c#里,日期含有中文“上午”“下午”,由于MySQL修改支持了中文,插入的時(shí)候直接報(bào)錯(cuò)了。
這種低級(jí)的問題超級(jí)吐血,只好在持久層自己添加一個(gè)轉(zhuǎn)換。
3. 插入的中文突然丟失了一般
測(cè)試的時(shí)候,突然發(fā)現(xiàn)插入的中文沒了一般,英文正常,字段類型是Text。再次吐血,找不到方法之后,最后只好重建MySQL數(shù)據(jù)庫(kù)。
4. 插入BLOb,圖片錯(cuò)誤。
如果是字符轉(zhuǎn)化為byte[],沒有問題,如果是文件之類的就錯(cuò)。估計(jì)還是中文字符問題。
只能再次修改持久層,對(duì)byte[]進(jìn)行base64加密。
吐血中?。。。?!
5. 這次竟然是官方代碼拋的異常!?。。∥铱浚。?!老大,這個(gè)是誰寫的??!
TABLENAME:POS_SALESORDER
LOG:System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。
參數(shù)名: length
在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
在 MySQL.Data.Types.MySQLString.MySQL.Data.Types.IMySQLValue.WriteValue(MySQLStream stream, Boolean binary, Object val, Int32 length)
在 MySQL.Data.MySQLClient.MySQLParameter.Serialize(MySQLStream stream, Boolean binary)
在 MySQL.Data.MySQLClient.Statement.SerializeParameter(MySQLParameterCollection parameters, MySQLStream stream, String parmName)
在 MySQL.Data.MySQLClient.Statement.BindParameters()
在 MySQL.Data.MySQLClient.PreparableStatement.Execute()
在 MySQL.Data.MySQLClient.MySQLCommand.ExecuteReader(CommandBehavior behavior)
在 MySQL.Data.MySQLClient.MySQLCommand.ExecuteNonQuery()
在 Pixysoft.Framework.Noebe.NoebeCommand.Execute()
救命啊。。什么原因!??!這次連debug都沒有辦法了。
我估計(jì)還有無數(shù)的問題在等著我。
開源啊開源,不是我刻意說你。也擺脫你爭(zhēng)氣點(diǎn)。我做軟件也5年多,用.net從來不會(huì)被小問題阻礙,可以專心研究算法、框架。可是一搞java,一搞開源的,就無數(shù)的小問題。
比如hibernate, tmd,竟然版本升級(jí)了,連namespace都變了。 這可以說,直接使網(wǎng)上數(shù)以百萬計(jì)的hibernate demo code, helloworld變成費(fèi)碼。對(duì)于初學(xué)者,這是多么沉重的打擊。
比如eclipse, 無數(shù)的擁護(hù)者肯定唾罵我。但是,和vs2005比起來,我寧愿面對(duì)無數(shù)的唾罵,也要支持vs2005。eclipse是有些不錯(cuò)的功能,但是那個(gè)性能。。那個(gè)易用性。。。嗨。。一啟動(dòng)就300m內(nèi)存。用個(gè)智能提示等半天假死。還有很多打包、部署、一大堆問題。不是說ant不好,可是我只是想打個(gè)包,讓我寫一堆xml干嘛,而且寫的跟寫代碼一樣,還分拆在不同的目錄。救命。。。比看代碼還累。
后來出了個(gè)所謂的maven的,說專門針對(duì)部署的,怎么怎么好。我們用起來,簡(jiǎn)直一個(gè)狗屁。只要任意一個(gè)版本變動(dòng),立刻病毒效應(yīng)。立刻打包失敗,而且失敗的莫名其妙。我們的工程師也就1、2個(gè)人才能解決,比如修改打包配置文件版本號(hào)最后2位之類的,其他的都云里霧里。
還有java里面做界面的,不要跟我說javaswing怎么樣,最后還不是IBM推出的基于c的SWT,才結(jié)束了JAVA的界面噩夢(mèng)。以上的相關(guān)內(nèi)容就是對(duì)用MySQL數(shù)據(jù)庫(kù)相當(dāng)多問題的介紹,望你能有所收獲。
【編輯推薦】
- 如何用PHP來實(shí)現(xiàn)MySQL備份?
- MySQL轉(zhuǎn)義字符的實(shí)際應(yīng)用
- 對(duì)MySQL數(shù)據(jù)庫(kù)中的命令備忘描述
- MySQL常用技巧都包括哪些?
- MySQL 備份的實(shí)際應(yīng)用與功能介紹
分享標(biāo)題:MySQL數(shù)據(jù)庫(kù)出現(xiàn)N多問題的原因
鏈接分享:http://www.5511xx.com/article/djcpeje.html


咨詢
建站咨詢
