Откройте защищенный паролем файл sqlite в. net стандарт 2.0 с. net framework 4.8 - PullRequest
0 голосов
/ 28 мая 2020

Я использую sqlite в. Net standard 2.0 с. Net framework 4.8, поэтому я добавил всю dll через nuget.

string connectionString = "Data Source =" C: \ Program Data \ sampleproject.db; Password = p123 ".

В первом случае: System.Data.Sqlite, System.Data.sqlite.core, system.data.sqlite.linq. При передаче пути к источнику данных с паролем. выдает исключение при открытии соединения Sqliteconnection: «SQL logi c error Невозможно использовать свойство строки подключения« Пароль »: библиотека не была создана с поддержкой шифрования, см.« https://www.sqlite.org/see »для получения дополнительной информации» . Итак, я добавил sqlitepcl.raw, sqlitepclraw.core. Результат не изменился. Я получил такое же исключение. String baseConnectionString = "Data Source = C: \ Program Data \ testing.db; Password = p123";

            using (SQLiteConnection connection = new SQLiteConnection(baseConnectionString))
            {
//Error occurs when opening connection
                connection.Open();
}

Во втором сценарии, в способе fre sh добавить dll. Я добавил dll: sqlite- net -base, sqlite- net -sqlcipher, sqlitepclraw.bundle.e-sqlite3, sqlitepclraw.core. В этом случае я попытался вызвать соединение с Sqliteasyncc onnection и sqliteconnection. В обоих случаях в исключении говорится: «Вам нужно вызвать SQLitePCL.raw.SetProvider (). Если вы используете пакет пакета, это делается путем вызова SQLitePCL.Batteries.Init ()».

string baseConnectionString = " Data Source = C: \ Program Data \ testing.db; Password = p123 ";

// Ошибка при создании экземпляра с использованием (SQLite.SQLiteConnection connection = new SQLiteConnection (baseConnectionString)) {connection.Open (); } В третьем сценарии я использовал Microsoft.data.sqlite.core и sqlitepclraw.bundle_e_sqlcipher в соответствии с "https://docs.microsoft.com/en-us/dotnet/standard/data/sqlite/encryption?tabs=netcore-cli". Я получаю исключение при создании соединения. «У процесса нет идентификатора пакета. (Исключение из HRESULT: 0x80073D54)». Исключение источника: Windows .Storage

string baseConnectionString = "Источник данных = C: \ Program Data \ testing.db; Password = p123"; // Ошибка при создании экземпляра с использованием (SqliteConnection connection = new SqliteConnection (baseConnectionString)) {connection.Open (); }

Какой сценарий подойдет, чтобы я мог создавать и подключать зашифрованный паролем файл базы данных. Какая модификация требуется. Заранее спасибо.

...