在 win IOT 上连接到 sqlite 数据库
Connect to sqlite database on win IOT
尝试连接到 raspberry pi 上的 sqllite 数据库时出现错误 {SQLite.Net.SQLiteException:无法打开数据库文件:C:\Data\Users\DefaultAccount\Documents\Storage.db(无法打开) ,用WIN IOT就是OS。我正在使用 SQLite 的 SQLite.Net-PCL ver 3.1.1 实现。
var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); var fileName2 = "Storage.db";
var path2 = Path.Combine(documentsPath, fileName2);
try
{
using (var connection = new SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path2))
{
}
}
catch (Exception ex)
{
string m_er = ex.ToString();
}
我想你使用的是 UWP 应用程序。在 Windows IoT Core 上,您可以使用 FolderPermissions tool 使 UWP 应用程序可以访问此路径 "C:\Data\Users\DefaultAccount\Documents"。
FolderPermissions C:\Data\Users\DefaultAccount\Documents -e
因为您没有收到 "access denied" 错误,所以我想您已经在 Package.appxmanifest.
中添加了以下功能
<uap:Capability Name="documentsLibrary" />
那么你的代码就可以工作了。 (我使用 Windows IoT Core 版本 10.0.17763.107 在 Raspberry Pi 3 上进行测试)
尝试连接到 raspberry pi 上的 sqllite 数据库时出现错误 {SQLite.Net.SQLiteException:无法打开数据库文件:C:\Data\Users\DefaultAccount\Documents\Storage.db(无法打开) ,用WIN IOT就是OS。我正在使用 SQLite 的 SQLite.Net-PCL ver 3.1.1 实现。
var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); var fileName2 = "Storage.db";
var path2 = Path.Combine(documentsPath, fileName2);
try
{
using (var connection = new SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path2))
{
}
}
catch (Exception ex)
{
string m_er = ex.ToString();
}
我想你使用的是 UWP 应用程序。在 Windows IoT Core 上,您可以使用 FolderPermissions tool 使 UWP 应用程序可以访问此路径 "C:\Data\Users\DefaultAccount\Documents"。
FolderPermissions C:\Data\Users\DefaultAccount\Documents -e
因为您没有收到 "access denied" 错误,所以我想您已经在 Package.appxmanifest.
中添加了以下功能<uap:Capability Name="documentsLibrary" />
那么你的代码就可以工作了。 (我使用 Windows IoT Core 版本 10.0.17763.107 在 Raspberry Pi 3 上进行测试)