Строки подключения
Строка подключения используется для определения способа подключения к базе данных. В Microsoft.Data.Sqlite используется стандартный синтаксис ADO.NET строк подключения — список пар ключевых слов и значений, разделенных точкой с запятой.
Ключевые слова
Microsoft.Data.Sqlite позволяет использовать следующие ключевые слова в строке подключения:
Источник данных
Путь к файлу базы данных. DataSource (без пробела) и Filename — псевдонимы этого ключевого слова.
SQLite обрабатывает относительные пути к текущей рабочей папке. Можно также указать абсолютные пути.
Если ничего не указано, SQLite создает временную базу данных на диске, которая удаляется при закрытии соединения.
Если указано :memory:
, используется выполняющаяся в памяти база данных. См. сведения о выполняющихся в памяти базах данных.
Пути, начинающиеся со строки подстановки |DataDirectory|
, обрабатываются так же, как и относительные пути. Если пути указаны, они становятся относительными для значения свойства домена приложения DataDirectory.
Это ключевое слово также поддерживает имена файлов в формате URI.
Режим
Режим подключения.
значение | Описание |
---|---|
ReadWriteCreate | Открывает базу данных для чтения и записи, а также создает ее, если она не существует. Это значение по умолчанию. |
Чтение и запись | Открывает базу данных для чтения и записи. |
ReadOnly | Открывает базу данных только для чтения. |
Память | Открывает выполняющуюся в памяти базу данных. |
Cache
Режим кэширования, используемый при подключении.
значение | Описание |
---|---|
По умолч. | Используется стандартный режим базовой библиотеки SQLite. Это значение по умолчанию. |
Private | Для каждого подключения используется частный кэш. |
Совмещаемая блокировка | Для подключений используется общий кэш. Этот режим может изменить поведение блокировки транзакций и таблиц. |
Пароль
Ключ шифрования. Если указать, PRAGMA key
отправляется сразу после установки подключения.
Предупреждение
Пароль будет бесполезным, если шифрование не поддерживается нативной библиотекой SQLite.
Примечание.
Ключевое слово password было добавлено в версию 3.0.
Внешние ключи
Значение, которое указывает, следует ли включить ограничения внешнего ключа.
Примечание.
Ключевое слово "Внешние ключи" было добавлено в версию 3.0.
значение | Описание |
---|---|
Истина | Отправляет PRAGMA foreign_keys = 1 сразу после установки подключения. |
False | Отправляет PRAGMA foreign_keys = 0 сразу после установки подключения. |
(пусто) | Не отправляет PRAGMA foreign_keys . Это значение по умолчанию. |
Нет необходимости включить внешние ключи, если, как и в e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS
использовался для компиляции собственной библиотеки SQLite.
Рекурсивные триггеры
Значение, которое указывает, следует ли разрешить рекурсивные триггеры.
Примечание.
Ключевое слово Recursive Triggers было добавлено в версию 3.0.
значение | Описание |
---|---|
Истина | Отправляет PRAGMA recursive_triggers сразу после установки подключения. |
False | Не отправляет PRAGMA recursive_triggers . Это значение по умолчанию. |
Default Timeout (Время ожидания по умолчанию)
Время ожидания по умолчанию (в секундах) для выполнения команд. Значение по умолчанию — 30. Время ожидания команды — это псевдоним этого ключевого слова.
Это значение можно переопределить, используяDefaultTimeout, в свою очередь, переопределение.CommandTimeout
Примечание.
Ключевое слово Timeout по умолчанию было добавлено в версию 6.0.
Объединение в пулы
Значение, указывающее, будет ли соединение использоваться в пуле.
Примечание.
Ключевое слово Pooling было добавлено в версию 6.0.
значение | Описание |
---|---|
Истина | Подключение будет объединяться. Это значение по умолчанию. |
False | Подключение не будет использоваться в пуле. |
Построитель строк подключения
Конструктор SqliteConnectionStringBuilder можно использовать как строго типизированный способ создания строк подключения. Он также обеспечивает защиту от атак путем внедрения кода в строку подключения.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Внимание
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Если вы подключаетесь к SQL Azure, управляемые удостоверения для ресурсов Azure — это рекомендуемый метод проверки подлинности.
Примеры
Базовая
Базовая строка подключения с общим кэшем для оптимизации параллелизма.
Внимание
Не рекомендуется смешивать режим общего кэша и ведение журнала накануне записи. Чтобы обеспечить оптимальную производительность, удалите Cache=Shared
, если база данных настроена для использования ведения журнала перед записью.
Data Source=Application.db;Cache=Shared
Encrypted
Зашифрованная база данных.
Data Source=Encrypted.db;Password=MyEncryptionKey
Только для чтения
База данных с доступом только на чтение, которую приложение не может изменить.
Data Source=Reference.db;Mode=ReadOnly
В памяти
Частная выполняющаяся в памяти база данных.
Data Source=:memory:
Общая выполняющаяся в памяти база данных
Общая выполняющаяся в памяти база данных, определяемая по имени Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared