在 SQLite 管理器中打开 c# sqlite-net-sqlcypher 数据库,反之亦然

Opening a c# sqlite-net-sqlcypher database in a SQLite manager and vice versa

情况:Windows11 - 最新更新; .NET 6 控制台应用程序 - 最新更新; sqlite-net-sqlcypher nuget 包(1.8.116)——也是最新版本; Visual Studio(2019 和 2022)和 Rider - 所有最新版本)

我创建了一个小测试应用程序(见下文)

var options = new SQLiteConnectionString(databasePath, true, "testpassword");
var db = new SQLiteConnection(options);

db.CreateTable<AttributionRecord>();

db.InsertOrReplace(new AttributionRecord(-1, "Test01", "Me", "Test Attribution 01"));

string queryString = "select * from AttributionRecord";

List<AttributionRecord> list = db.Query<AttributionRecord>(queryString);

foreach (AttributionRecord attributionRecord in list)
{
    Console.WriteLine($"{attributionRecord.Id} - For Who : {attributionRecord.AttributionForWho} - For What : {attributionRecord.AttributionForWhat} - Attribution : {attributionRecord.Attribution}");
}

一切正常,我(终于)有了一个加密的 SQLite 数据库。但是,当我尝试在 DB Browser(旧版本 (3.10.1) 和较新版本 (3.12.1))甚至在购买的应用程序中打开我新创建的数据库之一时:SQLiteManager(版本 4.8.3)(来自 SQLabs : https://www.sqlabs.com/sqlitemanager.php 表明他们支持sqlcypher加密数据库),我就是打不开数据库。

反之亦然,当我尝试打开一个受 sqlcypher 保护并通过管理器创建的数据库时,我无法在 c# 中打开它(sqlite 异常 - 文件不是数据库)。

这不是关于 Whosebug 的其他问题的重复,我已经尝试了所有可以找到的问题。对于较旧的 DB 浏览器,我使用 4096 作为页面大小,因为它被宣传为 sqlcypher 数据库的默认页面大小。

使用 SQLiteStudio(版本 3.3.3)我可以打开和编辑我的加密数据库和表。

我只是有点失望,像 SQLiteManager 这样的商业产品不能做免费产品可以做的事情。

老实说,我以前从未听说过 SQLiteStudio,但它是一个很好的开源项目,可以完成这项工作。