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] -----------------------------------------------------------------------------