System.Data.SQLite.SQLiteException:SQLite错误没有这样的表错误

时间:2012-06-27 16:58:08

标签: c# sqlite database-connection

我正在尝试对VS 2010中的解决方案进行一些单元测试,并尝试使用SQLite作为我的数据库。问题是我收到以下错误:

“测试方法AECI.Clio.RecordableIncidentRate_Test.TestClass.QueryDataTest抛出异常: System.Data.SQLite.SQLiteException:SQLite错误 没有这样的表:dbo.vDimIncident“

我已经使用我的SQLBrowser来仔细检查我的表是否在那里。我甚至尝试将表的名称从vDimIncident更改为dbo.vDimIncident,但无济于事。

我不确定我做错了什么。这是我的错误跟踪:

System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
System.Data.SQLite.SQLiteCommand.BuildNextCommand()
System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
System.Data.SQLite.SQLiteDataReader.NextResult()
System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
System.Data.Common.DbCommand.ExecuteReader()
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
AECI.Clio.RecordableIncidentRate.Harvester.QueryData(HarvestTargetTimeRangeUTC ranges) in C:\tfsprod\AECI.Clio.RecordableIncidentRate\Harvester.cs: line 43
AECI.Clio.RecordableIncidentRate_Test.TestClass.HarvesterHandle.QueryDataTest(HarvestTargetTimeRangeUTC ranges) in C:\tfsprod\AECI.Clio.RecordableIncidentRate_Test\TestClass.cs: line 167
AECI.Clio.RecordableIncidentRate_Test.TestClass.QueryDataTest() in C:\tfsprod\AECI.Clio.RecordableIncidentRate_Test\TestClass.cs: line 54

我不确定这是否与任何事情有关,但这里是我的连接字符串:

public void ConfigureHarvester(System.Configuration.Configuration configuration)
{
    context = new DataClassesDataContext(new System.Data.SQLite.SQLiteConnection(@"Data Source= C:\tfsprod\C#SQLite\Community.CsharpSqlite.shell\bin\Debug\test.db"));

}

1 个答案:

答案 0 :(得分:0)

我明白了。我必须转到dbml文件,然后转到数据类的属性并删除“dbo”。从我的桌子名称前面。我不知道这是否是正确的做法,但它有效。