Hi all,

 

I experienced some strange behavior between different versions of
sqlite. Our application uses the System.Data.Sqlite wrapper
(http://sqlite.phxsoftware.com/) which is on sqlite version 3.6.23.1,
but the tools we use to view the database are on sqlite version 3.7.4.
In the application no signs of database corruption are found, but the
tools cannot open the database (tools; http://osenxpsuite.net/?xp=3  /
http://www.sqliteexpert.com/). 

 

To verify the behavior, I downloaded different versions of the sqlite
windows commandline tool from the sqlite website and ran the following
commands;

 

C:\tmp\malformed>3_6_23_sqlite3.exe test.db3 "pragma integrity_check;"

ok

 

C:\tmp\malformed>3_6_23_1_sqlite3.exe test.db3 "pragma integrity_check;"

ok

 

C:\tmp\malformed>3_7_0_sqlite3.exe test.db3 "pragma integrity_check;"

Error: database disk image is malformed

 

C:\tmp\malformed>3_7_4_sqlite3.exe test.db3 "pragma integrity_check;"

Error: database disk image is malformed

 

 

Another thing that might be interesting, is that when you run "VACUUM;"
with a 3.6.x version on the database, the corruption seems to be solved
for the 3.7.x versions. 

 

The corruption seems to occur after running a number of CREATE TABLE /
INSERT / UPDATE / ALTER TABLE / DROP TABLE commands in one transaction.
Normally the database is encrypted using the encryption provided by the
System.Data.Sqlite wrapper, but  the corruption also remains when
decrypting the database. 

 

Attached you will find a database file which is not encrypted, and all
tables are dropped. The corruption is still in there and is used to
generate the output mentioned above.

 

Can someone help me out with this issue?

 

Regards,

Dennis Geldhof


This message contains confidential information and is intended only for the 
individual named. If you are not the named addressee you should not 
disseminate, distribute or copy this e-mail. Please notify the sender 
immediately by e-mail if you have received this e-mail by mistake and delete 
this e-mail from your system. E-mail transmission cannot be guaranteed to be 
secure or error-free as information could be intercepted, corrupted, lost, 
destroyed, arrive late or incomplete, or contain viruses. The sender therefore 
does not accept liability for any errors or omissions in the contents of this 
message, which arise as a result of e-mail transmission. If verification is 
required please request a hard-copy version.
 Please consider the environment before printing this email message
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to