Azure функция чтения базы данных SQLite - PullRequest
0 голосов
/ 24 апреля 2020

От третьей стороны я получаю файл базы данных SQLite '.db3'. Я sh могу прочитать данные, хранящиеся в базе данных в функции 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;

Как мне прочитать базу данных?

1 Ответ

0 голосов
/ 06 мая 2020

У меня была эта проблема раньше, чтение локального файла ... более одного раза. Вот шаги, которые я предпринял в зависимости от сценария:

  1. Если ваша Azure функция развернута с использованием zipdeploy, то в разделе «Конфигурация»> «Настройки приложения» измените «WEBSITE_RUN_FROM_PACKAGE» с 1 на 0.
  2. Если файл, на который вы пытаетесь сослаться, сохраняется под wwwroot в функции Azure, я бы попытался поместить его в другое место, например d:\local.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...