我的UWP应用程序中有一个sqlite数据库。在我的应用程序首次启动时,我创建了数据库并使用所有表和内容进行设置。我玩这个应用程序并生成一些数据就好了。但是当我关闭并重新启动应用程序时,它会在尝试执行任何查询时开始给出'file is encrypted or is not a database'
错误。
我正在使用sqlite3.dll v3.12.0,这是我的pragma密钥语句(带有示例加密密钥):
"PRAGMA key='aes256:66zk4rsKBIfSJ4vhF1XkzFxzrznOhjjnotuHRdKADIg='"
我验证了,在第二次启动时,加密密钥用于运行pragma密钥语句。
编辑:看起来加密很顺利。因为,当我使用像SQLite Manager这样的工具并提供相同的密钥时,它会打开数据库就好了。
答案 0 :(得分:1)
我认为你可能会发生的事情是你曾经使用过像以前一样的SQLite库加密工作,就像我一样。
<SDKReference Include="SQLite.UAP.2015, Version=3.10.2">
<Name>SQLite for Universal App Platform</Name>
</SDKReference>
由于您将库更新到v3.12.0,因此此版本中的PRAGMA密钥无效,因此无法进入以前的加密数据库。
我正在尝试重建指向该版本的链接,但很难:"SQLite.UAP.2015, Version=3.10.2"