Hi Dan,

Responses inline:

On 4/18/07, Dan Kennedy <[EMAIL PROTECTED]> wrote:

> At first I thought this had solved the problem, because all in house
testing
> runs beautifully.  However, as soon as the device is sent to the field,
the
> error starts again.  Unfortunately, it means that I have never been able
to
> catch this in debug.  I did, however, change the error reporting a
little
> and got some more information.  The SQLiteException I am not getting
> includes this information:
>
> Insertion failed because the database is full

That message is from the wrapper.


Yes, I talked to DRH yesterday on the phone and that was the initial
conclusion, that this error is somehow related to the wrapper (in this case
System.Data.SQLite .NET Managed Provider).  I have posted a report in the
BUG section of their Forums.  In the meantime, DRH suggested I try to catch
the error and recreate the Connection, which is first on my list for this
morning.  I'll keep the list posted.

database or disk is full

And the above is from sqlite3. The corresponding return code is
SQLITE_FULL. Search source file "os_win.c" for where SQLITE_FULL
errors can be generated - there's only a couple of places. Odds
on it's one of them. Looks like on windows, any error writing
or seeking a file is reported as SQLITE_FULL.

> at System.Data.SQLite.SQLite3.Reset()
> at System.Data.SQLite.SQLite3.Step()
> at System.Data.SQLite.SQLiteDataReader.NextResult()
> at System.Data.SQLite.SQLiteDataReader.ctor()
> at System.Data.SQLite.SQLiteCommand.ExecuteReader()
> at System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader()
> at ... etc etc

So is this really a SELECT? Probably good to check that.


No question, it is absolutely a select.

If it is a SELECT, why would it be filling up the database?
Is it rolling back a journal file and running out of space
like that? Or the user rolling back the journal file doesn't
have permission to write the database file and SQLite is
reporting the error incorrectly.


As far as I know, there are no journal files.  The user has full authority
to the entire system including the SQLite database.

Check for a journal file on the device after the error. Also
run the SQLite integrity-check on the database.

Dan.


OK, I'll have to find out about that...

Thanks,

--
Joel Cochran

Reply via email to