问题描述
日前在调研数据库加密,在书写demo时发现了一个错误:
file is not a database: , while compiling: select count(*) from sqlite_master
问题分析
从日志上来看应该是当前的文件并不是一个数据库,但是此数据库在未加密之前能够正常工作,添加了加密之后反而报错。
查询了资料之后得知,如果数据库需要加密,那么需要去重新重建数据库。原因是之前的数据库是没有加密的明文文件,在采取了加密措施之后框架会以文件已经被加密的方式去读取文件,这样解析明文文件就会出错。
解决办法
重新以加密的方式构建数据库。
目前看来数据库加密此步骤最好能够在数据库开始创建的时候就进行添加,否则后面的数据迁移就会异常麻烦。
网友评论