原文发表于2007-10-15
今天在做数据驱动的单元测试的实验的时候,碰到了一个问题。
在我建立了一个Access数据库和一个Excel表作为数据驱动测试的实验数据源。
在App.config文件中鼓捣了好一阵子,长出一口气,终于可以开始写测试了,在我
写好了相对于两种数据库的单元测试之后,我满怀信心地打开测试视图运行两个测试。
关于Excel的单元测试如我意料之中的过了,下一个却出了问题,爆出一个错误:
单元测试适配器引发异常: System.Data.OleDb.OleDbException: 不可识别
的数据库格式 'C:\Documents and Settings\wanghuahau\桌面\testdatasource.mdb'。。
我于是乎改了一下,将Access数据库后缀改作accdb(Office 2007 Access 数据库的默
认后缀名),再来运行,还好报相同的错误。我看了一下Excel,后缀名没有改啊,也是用的2007
中的默认后缀(xlsx),奇了怪了。看了看错误,格式不正确,难道是System.Data.OleDb出了
问题,上网搜,不知道那个地方提到了Access数据驱动程序ODBC,好,把System.Data.OleDb
改成System.Data.ODBC,运行……还是提示不可是别的数据格式。最后还是问了老大,他提醒说会
不会是2007和2003之间的问题(2003中用mdb,2007用accdb),我马上改过来,将testdatasource.mdb
保存为Access 2002-2003数据库,再次运行,成了!