Я только что обновился до Monotouch 4.1, и внезапно я получаю ошибки, подобные той, которая находится внизу вопроса, при доступе к моей базе данных SQLite3. Кто-нибудь может указать мне правильное направление, что здесь может быть не так?
Код, который вызывает его, выглядит так:
using(SqliteConnection oConn = this.CreateDBMSConnection())
{
using ( SqliteCommand oCmd = new SqliteCommand ( "SELECT Local.*, LocalObjects.intID AS intIsPopulated FROM Locals" + " LEFT JOIN LocalData ON LocalData.intID=Local.intRootObjectID", oConn ) )
{
oConn.Open ( );
using ( var oReader = oCmd.ExecuteReader ( ) )
{
while ( oReader.Read ( ) )
{
Local oLocal = this.GetLocalFromReader ( oReader );
aLocal.Add ( oLocal );
}
}
oConn.Close();
}
}
[0xb09d6000:] Обработка ИСКЛЮЧЕНИЯ: Mono.Data.Sqlite.SqliteException:
Файл базы данных заблокирован и не может быть закрыт из-за незавершенности
заявления
"" tid = 0x0xb09d6000 this = 0x0xa1ced20 дескриптор потока
0x11f состояние: не ожидал owns () в
Mono.Data.Sqlite.SQLiteBase.CloseConnection
(Mono.Data.Sqlite.SqliteConnectionHandle) [0x00029] в
/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteBase.cs:212
в Mono.Data.Sqlite.SqliteConnectionHandle.ReleaseHandle () [0x00000]
в
/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/UnsafeNativeMethods.cs:792
в System.Runtime.InteropServices.CriticalHandle.Dispose (bool)
[0x00017] в
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs:51
в System.Runtime.InteropServices.CriticalHandle.Dispose () [0x00000]
в
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs:41
в Mono.Data.Sqlite.SQLite3.Close () [0x0003d] в
/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLite3.cs:62
в Mono.Data.Sqlite.SqliteConnection.Close () [0x0008e] в
/Developer/MonoTouch/Source/mono/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConnection.cs:474