C# oledb命令ExecuteOnQuery在错误路径下运行

C# oledb命令ExecuteOnQuery在错误路径下运行,c#,ado.net,oledb,C#,Ado.net,Oledb,我在WPF应用程序中有以下代码: TargetCon.Open(); foreach (var table in accessTables) { var tableConfig = _centralConfig.DataTablesForExport.Where(x => x.Name.ToLower() == table).Single(); _serilog.WriteString("Going to add index for table: " + tableCo

我在WPF应用程序中有以下代码:

TargetCon.Open();

foreach (var table in accessTables)
{
    var tableConfig = _centralConfig.DataTablesForExport.Where(x => x.Name.ToLower() == table).Single();

    _serilog.WriteString("Going to add index for table: " + tableConfig.Name);

    foreach (var index in tableConfig.IndexColumns)
    {
        var command = new OleDbCommand($"CREATE INDEX idx{index.ColumnName} ON {tableConfig.Name}({index.ColumnName})", TargetCon);
        command.ExecuteNonQuery();
    }
}
在调试中单步执行代码时,会在
命令.executeOneQuery()
行引发异常,即无法在项目的
\in\debug
文件夹中找到文件。我不知道它为什么在那个文件夹里。如果我检查公共属性
TargetCon
,我会看到该对象的
DataSource
属性被正确设置为路径
c:\databases\u2.mdb


有人能解释一下为什么会发生这种情况吗?

sql语句试图在不存在的表名上创建索引。这不是一条非常有用的错误消息,它导致我的错误路径无法解决


一旦我修复了sql语句,问题就解决了

如果在foreach上设置断点,targetCon.ConnectionString的值是多少?我在以下位置提供了更多详细信息: