VS 2010 のソリューションで単体テストを実行しようとしており、データベースとして SQLite を使用しようとしています。問題は、次のエラーが発生することです。
「テスト メソッド AECI.Clio.RecordableIncidentRate_Test.TestClass.QueryDataTest が例外をスローしました: System.Data.SQLite.SQLiteException: SQLite エラー no such テーブル: 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"));
}