Hi,
I asked the following question a few weeks ago, but did not get any responses,
hoping someone may have an idea.
We are currently running System.Data.SQLite.dll 1.0.80.0 and would like to
upgrade to a newer version. However there are a variety of issues we have run
into, most of which I have now resolved, however one remains. Assume I have a
database which is "malformed" due to rowid xxx missing from a table index.
Using the 1.0.80.0 driver the following code would return the results from the
pragma integrity_check call.
private static IEnumerable<string> IntegrityCheck(SQLiteConnection
connection)
{
using (var command = new SQLiteCommand(connection))
{
command.CommandTimeout = 0;
command.CommandText = "pragma integrity_check";
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
yield return reader.GetString(0);
}
}
}
}
Our system would get a list of the rowid problems allowing it to log them and
inform the user. I am currently testing using the 1.0.105.1 driver, however the
ExecuteReader() call (above) throws an exception saying the database is
malformed. That is not very helpful and effectively stops the system obtaining
integrity check information. If I replace the integrity_check with quick_check
it works and returns ok, so access to the file is ok, just some internal
indexes are messed up. Is there any way to get the above working in the later
drivers, or can someone tell me which driver update changed this behaviour?
Kind Regards,
Fugro Intersite.
Barry Roberts.
[email protected]<mailto:[email protected]> | www.fugro.com
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users