我使用System.Data.Odbc连接字符串连接到Excel数据源。使用相对 dbq 路径时会发生以下错误:
错误[42S02] [Microsoft] [ODBC Excel驱动程序] Microsoft Office Access数据库引擎找不到对象' Sheet1 $'。确保对象存在,并且您正确拼写其名称和路径名称。
App.config中:
<configuration>
<configSections>
<section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</configSections>
<connectionStrings>
<add name="excelConnection" connectionString="Dsn=Excel Files;Dbq=ExcelDataSource.xlsx;Defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc"/>
</connectionStrings>
<microsoft.visualstudio.testtools>
<dataSources>
<add name="excelDataSource" connectionString="excelConnection" dataTableName="Sheet1$" dataAccessMethod="Sequential"/>
</dataSources>
</microsoft.visualstudio.testtools>
</configuration>
测试方法属性:
[DeploymentItem("ExcelDataSource.xlsx")]
[DataSource("excelDataSource")]
[TestMethod]
故障排除说明:
问题:defaultDir =。;决心?
答案 0 :(得分:2)
使用| DataDirectory |正确解析变量:defaultDir = | DataDirectory |。
connectionString="Dsn=Excel Files;Dbq=ExcelDataSource.xlsx;Defaultdir=|datadirectory|\;driverid=790;maxbuffersize=2048;pagetimeout=5"