2012-06-27 6 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

Вы дважды проверяли, что вы загружаете хороший файл db (проверка пути)? – cichy

+0

@cichy - Да, путь хорош, и файл db можно открыть в браузере базы данных SQLite. –

ответ

0

Я понял это. Мне пришлось перейти в dbml-файл, затем в свойства класса данных и удалить «dbo». от имени моей таблицы. Я не знаю, правильно ли это, но он работает.

Смежные вопросы