Hi everyone:

We're using Firebird 1.5 embedded within our single-user, desktop Windows .NET app, and are seeing very frequent exceptions if we use Pooling=false in our connection string. We wanted to try the no-pooling feature because we thought it *might* make the database less subject to corruption when its FDB file is on a removable disk that may disappear at any moment. We do Close() the connection right after every transaction. Anyway, once we turned on Pooling=false, we get frequent (albeit intermittent) exceptions : "Exception of type FirebirdSql.Data.Common.IscException was thrown" (errorCode 335544485) with the following stack trace:

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Embedded.FesDatabase.ParseStatusVector(int[] statusVector = {Length=20}) + 0x4e bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Embedded.FesStatement.Free(int option = 2) + 0xc3 bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Common.StatementBase.Release() + 0x4d bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Embedded.FesStatement.Dispose(bool disposing = true) + 0x35 bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Common.StatementBase.Dispose() + 0x16 bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Firebird.FbCommand.Release() + 0x52 bytes

>firebirdsql.data.firebird.dll!FirebirdSql.Data.Firebird.FbCommand.Dispose(bool disposing = false) + 0x4f bytes

>system.dll!System.ComponentModel.Component.Finalize() + 0x1d bytes

The underlying ISC error is "invalid statement handle". These may be due to .NET garbage collection, or to the .NET Firebird DataProvider we use, or to Firebird itself -- we just don't know enough to tell. We've *never* seen these before we turned Pooling off. Plus, with the embedded server, we thought there would be only one connection anyway (and yes, we're single-threaded when accessing the database). Any suggestions as to why this might be happening, or where we should go ask this question, or why we shouldn't use Pooling=off to begin with?

Thanks in advance!

Uri

Reply via email to