使用sqlcipher的问题,返回错误:“文件不是数据库”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sqlcipher的问题,返回错误:“文件不是数据库”相关的知识,希望对你有一定的参考价值。

抱歉,如果解决方案被埋在另一个线程或帖子中。我找不到与此有关的任何东西。我收到[错误:文件不是数据库]。

我的场景:

  • 将sqlcipher下载到PopOS安装中。 (3.15.2 // sqlcipher --version)
  • 成功创建了新的加密数据库。可以打开,关闭并查看结果。
  • [将该数据库下载到MacOS(Catalina)。 (3.31.0 // sqlcipher --version)
  • 我打开数据库并输入“ PRAGMA key”语句作为第一个输入。 (确认:“确定”。)但是,此后我所做的任何事情都会导致[错误:文件不是数据库]。

是否是引起问题的不同版本?

答案

也在以下链接上也发布了上述问题:https://discuss.zetetic.net/t/error-file-is-not-a-database/4434(复制了下面的回复)

“此讨论论坛帖子应该为您指明正确的方向:升级到SQLCipher 4 1(https://discuss.zetetic.net/t/upgrading-to-sqlcipher-4/3283)。听起来您的数据库是使用SQLCipher v3创建的,而您正尝试使用SQLCipher v4打开它。要验证此假设是否正确,您可以在每一侧运行PRAGMA cipher_version。“

以上内容有助于将3.4加密文件转换为4.x版本。但是,要将我的Linux安装升级到4.x,这些说明非常有用:https://github.com/sqlitebrowser/sqlitebrowser/wiki/SQLCipher:-Build-from-Source-on-Debian-Stretch---Newbie-Instructions

以上是关于使用sqlcipher的问题,返回错误:“文件不是数据库”的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 项目中包含 SQLCipher pod 时如何避免构建错误?

运行应用程序时出现SQLCipher错误

sqlcipher 构建 Windows 8

SQLCipher、Xcode 4 和创建 IPA

sqlcipher ./configuration linux

将 FMDB + SQLCipher 与 Rubymotion 一起使用?