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