0
Started

Database conversion failed

Сергей Скобаро 4 years ago • updated by Andrej Repin 3 years ago 10
При попытке конвертирования старой большой базы (> 10GB),
новая база создается, потом проходит несколько пунктов и
потом при копирован книг в новую базу вылетает данная ошибка.
Детальная информация:
System.AggregateException: Произошла одна или несколько ошибок. ---> System.Data.SQLite.SQLiteException: SQL logic error or missing database
в Fb2Library.Data.SQLiteBlob..ctor(SQLiteConnection connection, String database, String tablename, String columnname, Int64 rowid, SQLiteBlobAccess access)
в Fb2Library.Data.SQLiteBlob..ctor(SQLiteConnection connection, String tablename, String columnname, Int64 rowid, SQLiteBlobAccess access)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookCoverpage(DbManager db, BookContent content)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass9`1.<ConvertTask>b__8()
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
---> (Внутреннее исключение #0) System.Data.SQLite.SQLiteException (0x80004005): SQL logic error or missing database
в Fb2Library.Data.SQLiteBlob..ctor(SQLiteConnection connection, String database, String tablename, String columnname, Int64 rowid, SQLiteBlobAccess access)
в Fb2Library.Data.SQLiteBlob..ctor(SQLiteConnection connection, String tablename, String columnname, Int64 rowid, SQLiteBlobAccess access)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookCoverpage(DbManager db, BookContent content)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass9`1.<ConvertTask>b__8()
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()<---

Answer

Answer
Fixed
Возможно исправлено в версии 1.4.1170.0

p.s. Как таковой ошибки не обнаружено, была произведена оптимизация процедуры конвертации данных дабы исключить все возможные варианты возникновения ошибок.

Версия программы какая?
Последняя с сайта.
Версия сервера: WI-V2.1.2.18497 Friebird 2.1
OS: Windows 7 Prof 64bit
Последняя версия на сайте и последняя на данный момент различаются.

Версия на сайте: 1.4.1097.0
Версия доступная для обновления: 1.4.1133.0

Так у вас какая?

Та что обновилась автоматически из программы: 1.4.1133
Я пробовал делать конвентирование и в предыдущей версии, до обновления, и была та же ошибка.
Planned
ОК, будем смотреть
Answer
Fixed
Возможно исправлено в версии 1.4.1170.0

p.s. Как таковой ошибки не обнаружено, была произведена оптимизация процедуры конвертации данных дабы исключить все возможные варианты возникновения ошибок.

Попробовал новую версию.
Выскочила другая ошибка:
System.AggregateException: Произошла одна или несколько ошибок. ---> BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()
--- Конец трассировки внутреннего стека исключений ---
---> (Внутреннее исключение #0) BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()<---


---> (Внутреннее исключение #1) BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()<---


---> (Внутреннее исключение #2) BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()<---


---> (Внутреннее исключение #3) BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()<---


---> (Внутреннее исключение #4) BLToolkit.Data.DataException: database is locked
database is locked ---> System.Data.SQLite.SQLiteException: database is locked
database is locked
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в 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.ExecuteNonQuery(CommandBehavior behavior)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex)
в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.BLToolkit.Data.Linq.IDataContext.ExecuteNonQuery(Object query)
в BLToolkit.Data.Linq.Query`1.NonQueryQuery(IDataContextInfo dataContextInfo, Expression expr, Object[] parameters)
в BLToolkit.Data.Linq.Query`1.<SetNonQueryQuery>b__e(QueryContext ctx, IDataContextInfo db, Expression expr, Object[] ps)
в BLToolkit.Data.Linq.CompiledTable`1.Execute(Object[] parameters)
в lambda_method(Closure , Object[] )
в BLToolkit.Data.Linq.CompiledQuery.ExecuteQuery[TResult](Object[] args)
в BLToolkit.Data.Linq.CompiledQuery.Invoke[TDC,T1,T2,TResult](TDC dataContext, T1 arg1, T2 arg2)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.InsertBookAuthor(DbManager db, BookAuthor bookAuthor)
в Fb2Library.DatabaseTools.Commands.FdpConvertDatabaseCommand.<>c__DisplayClass7`1.<BatchConvertTask>b__3(T[] array)
в System.Threading.Tasks.Dataflow.ActionBlock`1.ProcessMessage(Action`1 action, KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.ActionBlock`1.<>c__DisplayClass5.<.ctor>b__0(KeyValuePair`2 messageWithId)
в System.Threading.Tasks.Dataflow.Internal.TargetCore`1.ProcessMessageLoopCore()<---