由于需要测试数据库的连通性,测试项目使用了“方便”的access来作为后台数据库,但由于它太“方便”了,以致于半天的时间都葬送在了它隐藏的关键字上...
项目使用了nhibernate来作为数据库中间层,并使用nunit进行单元测试。可当我配置好所有模型类及配置文件之后,测试环境竟然抛出了这个错误:
nhibernate.hibernateexception : 字段定义语法错误。
----> system.data.oledb.oledbexception : 字段定义语法错误。
遂上网搜索,初步判断为access关键字冲突,由于以前的项目由于数据库关键字冲突出现过此类问题,所以模型设计过程中已经注意并避开了它,但是,貌似有漏网之鱼,于是又搜出access的关键字列表,一个字段一个字段对比,未发现任何冲突。
无奈中只能拿出最后一招,一个字段一个字段的进行修改,最后在n个小时之后,发现了一个关键字列表中不存在的关键字:position
至于结论,我不想再对access做什么评论,只能说,我用access我活该...
更多信息请查看IT技术专栏