First, to answer John's question: the CF Card is a 1GB card, and the only
thing on the card is the SQLite Database (currently 509KB), so I really
don't think it is a space problem.  Unless you mean something else by Flash
memory?

Michael,

Yes, I am doing Selects, and using DataAdapters to fill DataTables (which
are then used to populate instances of objects).

Interesting question about the CF Card.  I have 2 devices right now, one in
house for development and one in the field for testing, so I suppose it
could be the memory card's problem.  But if it was bad sector space,
wouldn't it happen on the same record every time?  As it is, the problem
occurs sporadically and unpredictably.  I used the field device here in the
office and opened over a hundred records with no error (hence my thinking I
had fixed the problem).  The field tester took the device to the field and
the first record threw the error.

And I'm still hung up on why it reports an insertion error when there is no
insertion occurring (unless it is some sort of internal mechanism used by
the database itself).

For Mike's last question, and I hope this doesn't sound too newbie-ish, but
do you run Select statements in a Transaction?  The short ansewr is no, they
are not.  And actually, now that I think about it, I don't think any of the
updates/inserts on the device itself are either.  The software that creates
the database runs on a PC, and I know all those are in transactions, but on
the device I do not think they are.  (This program was originally written
for SqlServerCE and was recently converted to SQLite).  Could that have
anything to do with it?  Could these database changes build up over time or
something like that?  I admit I am not very knowledgeable about
Transactions.  I will gladly go and put all the updates into transactions,
but would I do the same for Select statements?

Thanks for the responses,

Joel

On 4/13/07, Michael Ruck <[EMAIL PROTECTED]> wrote:

Hi,

Is this the only device seeing this error or are *all* devices seeing this
error? Have you checked the CF card? May be its just the card, which is
corrupt and you're hitting these bugs at points, where the file system is
hitting a bad sector.

Is this running in a transaction?

Mike

-----Ursprüngliche Nachricht-----
Von: Joel Cochran [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 13. April 2007 17:46
An: [EMAIL PROTECTED]
Betreff: [sqlite] Still getting "Insertion failed because database is
full."
errors

Hi folks,

I had sent this message out a couple of weeks ago, and I am still
searching
for a solution.  I looked at the application design and made a modest
change: I now create a single SQLiteConnection and use it from start to
finish of the application.  Previously I was creating multiple connections
(and disconnecting, disposing them and then running GC), but all that has
been replaced with the single connection approach.

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 database or disk is 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


I downloaded the C source and tried to read through it, but honestly I am
not a C programmer and didn't get very far.

Other than a possible bug, the only thing I can think of is that there is
something fundamentally wrong with my architecture.  What I can't get, is
why the message has anything to do with inserting.  While there are
several
actions in my product that Insert into the database, the error never
occurs
at those points.  If I understood what was being inserted, perhaps I could
figure out a soultion.

If anyone can help, I'd greatly appreciate it.  The original message is
included below this one.

TIA,

Joel


---------- Original message ----------
Hi all,

I have searched the web, the newsgroups, and the archives, but all I can
find is one reference to someone having this trouble with Python and a
bunch
of references that list this as predefined error #13 according to
http://www.sqlite.org/capi3.html.

What I can't find is any help in determining why a program might receive
this error.  The database is only 203KB and has 6 tables (maybe 1,000 rows
in all the tables combined) running off a 1GB CompactFlash card on a
Windows
Mobile 5 device with 256MB of onboard RAM: 50MB of that is dedicated to
programs and the rest is storage.  The only app running on the device is
the
one in question.  The error occurs at seemingly random times and forces
the
user to end the application and start over.

At this point I don't know much else: the user is in the field and I will
have the device back late this afternoon for debugging.  I was hoping to
have a head start before I get the device, because as it is I have no idea
what the cause could be.
---------- End Original message ----------



-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]

-----------------------------------------------------------------------------


Reply via email to