|
Hi guys,
1st I'd like to say I'm pretty new to SQLite, about 1 week. I'm trying to handle correctly the DB opening and here's some question on this. #1 I'm validating the db.sqlite file exist. if it doesn't, it creates it, right ? so right after being created, is the sqlite_master table created right away and a valid table for me to fetch the list of tablename (which should be empty) ? #2 if my db.sqlite file exist, I'm doing a sqlite_open3 on it. I was hoping the error code returned to actually help me determine is the file is a valid DB but it don't seems to read at all from the file. In fact, that's only when I 1st try to SELECT something from the file that I'm getting error_code 26 #define SQLITE_NOTADB 26 /* File opened that is not a database file */ As stated in http://www.sqlite.org/capi3.html , the error code from 24-26 present but that might just be new stuff since 3.0 I'm using 3.6 I'm giving an invalid DB file on purpose to simulate a corrupted DB. Is there a (Quick) way to check whether or not the opened file is a database way other than using sql_exec ? _______________________________________________ sqlite-users mailing list [hidden email] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users |
|
I think there are some self-identifying bits at the start of a
valid SQLite file... you could open the file directly and check for those. Or, if you're going to retrieve a list of table names from sqlite_master when first opening the database, you could trap the SQLITE_NOTADB when executing that query... that would do the trick as well. -T On Fri, Oct 17, 2008 at 12:48 PM, Antoine Caron <[hidden email]> wrote: > Hi guys, > > > > 1st I'd like to say I'm pretty new to SQLite, about 1 week. I'm trying to > handle correctly the DB opening and here's some question on this. > > > > #1 I'm validating the db.sqlite file exist. if it doesn't, it creates it, > right ? so right after being created, is the sqlite_master table created > right away and a valid table for me to fetch the list of tablename (which > should be empty) ? > > > > #2 if my db.sqlite file exist, I'm doing a sqlite_open3 on it. I was hoping > the error code returned to actually help me determine is the file is a valid > DB but it don't seems to read at all from the file. In fact, that's only > when I 1st try to SELECT something from the file that I'm getting error_code > 26 > > #define SQLITE_NOTADB 26 /* File opened that is not a database file > */ > > As stated in http://www.sqlite.org/capi3.html , the error code from 24-26 > present but that might just be new stuff since 3.0 I'm using 3.6 I'm giving > an invalid DB file on purpose to simulate a corrupted DB. > > Is there a (Quick) way to check whether or not the opened file is a database > way other than using sql_exec ? > > > > _______________________________________________ > sqlite-users mailing list > [hidden email] > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > sqlite-users mailing list [hidden email] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users |
| Powered by Nabble | Edit this page |
