由于需要測試數(shù)據(jù)庫的連通性,測試項目使用了“方便”的ACCESS來作為后臺數(shù)據(jù)庫,但由于它太“方便”了,以致于半天的時間都葬送在了它隱藏的關(guān)鍵字上...
項目使用了NHibernate來作為數(shù)據(jù)庫中間層,并使用NUnit進(jìn)行單元測試??僧?dāng)我配置好所有模型類及配置文件之后,測試環(huán)境竟然拋出了這個錯誤:
NHibernate.HibernateException : 字段定義語法錯誤。
----> System.Data.OleDb.OleDbException : 字段定義語法錯誤。
遂上網(wǎng)搜索,初步判斷為ACCESS關(guān)鍵字沖突,由于以前的項目由于數(shù)據(jù)庫關(guān)鍵字沖突出現(xiàn)過此類問題,所以模型設(shè)計過程中已經(jīng)注意并避開了它,但是,貌似有漏網(wǎng)之魚,于是又搜出ACCESS的關(guān)鍵字列表,一個字段一個字段對比,未發(fā)現(xiàn)任何沖突。
無奈中只能拿出最后一招,一個字段一個字段的進(jìn)行修改,最后在N個小時之后,發(fā)現(xiàn)了一個關(guān)鍵字列表中不存在的關(guān)鍵字:Position
至于結(jié)論,我不想再對ACCESS做什么評論,只能說,我用ACCESS我活該...
更多信息請查看IT技術(shù)專欄