我通过读取文件的前16个字节来确定文件是否是SQLite数据库(如https://www.sqlite.org/fileformat.html中所述)。如果我读过SQLite format 3
,那么它就是一个SQLite数据库。
我没有示例SQLite 2数据库,所以我不知道它有什么标题,我在文档中找不到它。谁知道标题是什么?
虽然它没有明确说明标题已经改变,但我相信前16个字节会有所不同,至少在3(第15个字节x'33')可能不是3,这对于SQLite3来说已经足够了认为文件不兼容。
您可以做的是通过History Of SQLite Releases获取版本并阅读SQLite Source Repository的自述文件。编译并执行测试以适应。
你也可以找到File Format Changes in SQLite和另外一些感兴趣的SQLite Version 3 Overview。