c# - Azure 函数读取 SQLite 数据库
问题描述
我从第三方收到一个 SQLite '.db3' 数据库文件。我希望在 Azure 函数中读取存储在数据库中的数据,但不需要修改数据库。
在我的 Azure 函数中,我还在 .db3 文件旁边上传了一个文本文件,我可以很好地读取该文本文件的内容,这意味着我拥有该文件夹的 URI 和读取权限。
当我尝试从数据库中读取一些数据时,我收到错误“数据库已锁定”。
读取数据库的代码如下。这在本地有效。
List<object> obs = new List<object>();
using(var con = new SQLiteConnection($"URI=file:{fullUri};mode=ReadOnly"))
{
con.Open();
using(var cmd = new SQLiteCommand(sql, con))
{
using(SQLiteDataReader rdr = cmd.ExecuteReader())
{
while(rdr.Read())
{
obs.Add(rdr.GetValues());
}
}
}
con.Close();
}
return obs;
如何读取数据库?
解决方案
我以前遇到过这个问题,读取本地文件......不止一次。这些是我根据场景采取的步骤:
- 如果您的 Azure 函数是使用 zipdeploy 部署的,则在“配置”>“应用程序设置”下,将“WEBSITE_RUN_FROM_PACKAGE”从 更改
1
为0
. - 如果您尝试引用的文件保存在
wwwroot
Azure 函数下,我会尝试将其放在其他位置,例如d:\local
.
推荐阅读
- postgresql - 提取具有多个条件的字符串 - sql
- reactjs - 创建 URL 以从 react (SIP) 启动 Skype
- google-apps-script - 由于 Google+ 登录功能已被弃用,我是否需要更改我的 Apps 脚本代码?
- angularjs - 有没有办法用#mdDialog Service 触发 mat-dialog 组件?
- python - 生成多个带有臀部列表的菜单项
- c - 如果我将字符串传递给函数,如何复制字符串中的内容?
- java - 尝试为 Spring Boot App 的黄瓜集成测试加载不同的属性?
- python - 尝试将以下 json 输出为 csv
- xaml - 在 Xamarin 表单中的选项卡式页面内实现主详细信息页面(使用 Prism)
- javascript - 我可以像在 JavaScript 中那样在 PHP 数组中循环吗?