2012-06-27 84 views
0

我想在VS 2010中的解決方案上運行一些單元測試,並試圖使用SQLite作爲我的數據庫。問題是,我得到以下錯誤:System.Data.SQLite.SQLiteException: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

你仔細檢查,你正在加載好的數據庫文件(路徑檢查)? – cichy

+0

@cichy - 是的,路徑很好,可以在SQLite數據庫瀏覽器中打開數據庫文件。 –

回答

0

我想通了。我不得不去dbml文件,然後到數據類的屬性並刪除「dbo」。從我的表名前面。我不知道這是否是適當的方式,但它的工作原理。