【发布时间】:2011-02-04 14:48:41
【问题描述】:
我正在尝试使用 OleDB 4 读取 CSV 文件中的一些数据。我正在使用以下代码,这些代码是从各种来源复制的,表明它应该可以工作....
protected virtual string ConnectionString
{
get
{
return string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=Yes;FMT=Delimited'", _path);
}
}
public void ReadData()
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT [Name] FROM SomeTable", ConnectionString))
{
using (DataTable table = new DataTable())
{
adapter.Fill(table);
foreach (DataRow row in table.Rows)
{
//Do something with the data
}
}
}
}
我正在尝试使用单元测试来测试代码,但在“adapter.Fill”行中不断出现以下异常:
“Microsoft Jet 数据库引擎无法打开文件 ''。它已被其他用户以独占方式打开,或者您需要权限才能查看其数据。”
请谁能给我一些线索来找出问题所在?该文件尚未被其他应用程序打开。我尝试使用“AppDomain.CurrentDomain.BaseDirectory”下的路径以及临时文件夹的硬编码路径,但无论我尝试什么,都会出现同样的错误。
【问题讨论】:
-
您的问题解决了吗?