Parametry połączeń
Parametry połączenia służy do określania sposobu nawiązywania połączenia z bazą danych. Parametry połączenia w witrynie Microsoft.Data.Sqlite są zgodne ze standardową składnią ADO.NET jako rozdzieloną średnikami listę słów kluczowych i wartości.
Słowa kluczowe
Następujące słowa kluczowe parametry połączenia mogą być używane z witryną Microsoft.Data.Sqlite:
Źródło danych
Ścieżka do pliku bazy danych. Źródło danych (bez spacji) i nazwa pliku to aliasy tego słowa kluczowego.
SqLite traktuje ścieżki względem bieżącego katalogu roboczego. Można również określić ścieżki bezwzględne.
Jeśli jest pusty, sqlite tworzy tymczasową bazę danych na dysku, która zostanie usunięta po zamknięciu połączenia.
Jeśli :memory:
używana jest baza danych w pamięci. Aby uzyskać więcej informacji, zobacz Bazy danych w pamięci.
Ścieżki rozpoczynające się od |DataDirectory|
ciągu podstawienia są traktowane tak samo jak ścieżki względne. W przypadku ustawienia ścieżki są tworzone względem wartości właściwości domeny aplikacji DataDirectory.
To słowo kluczowe obsługuje również nazwy plików identyfikatorów URI.
Tryb
Tryb połączenia.
Wartość | Opis |
---|---|
ReadWriteTworzenie | Otwiera bazę danych do odczytu i zapisu i tworzy ją, jeśli nie istnieje. Jest to opcja domyślna. |
ReadWrite | Otwiera bazę danych do odczytu i zapisu. |
Tylko do odczytu | Otwiera bazę danych w trybie tylko do odczytu. |
Pamięć | Otwiera bazę danych w pamięci. |
Pamięć podręczna
Tryb buforowania używany przez połączenie.
Wartość | Opis |
---|---|
Wartość domyślna | Używa domyślnego trybu bazowej biblioteki SQLite. Jest to opcja domyślna. |
Prywatne | Każde połączenie używa prywatnej pamięci podręcznej. |
Udostępniona | Połączenia współużytkuje pamięć podręczną. Ten tryb może zmienić zachowanie transakcji i blokady tabeli. |
Hasło
Klucz szyfrowania. Po określeniu PRAGMA key
parametr jest wysyłany natychmiast po otwarciu połączenia.
Ostrzeżenie
Hasło nie ma wpływu, gdy szyfrowanie nie jest obsługiwane przez natywną bibliotekę SQLite.
Uwaga
Słowo kluczowe Hasło zostało dodane w wersji 3.0.
Klucze obce
Wartość wskazująca, czy włączyć ograniczenia klucza obcego.
Uwaga
Słowo kluczowe Klucze obce zostało dodane w wersji 3.0.
Wartość | Opis |
---|---|
Prawda | Wysyła natychmiast PRAGMA foreign_keys = 1 po otwarciu połączenia. |
Fałsz | Wysyła natychmiast PRAGMA foreign_keys = 0 po otwarciu połączenia. |
(puste) | Nie wysyła PRAGMA foreign_keys . Jest to opcja domyślna. |
Nie ma potrzeby włączania kluczy obcych, jeśli, podobnie jak w e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS
użyto do skompilowania natywnej biblioteki SQLite.
Wyzwalacze cykliczne
Wartość wskazująca, czy włączyć wyzwalacze rekursywne.
Uwaga
Słowo kluczowe Wyzwalacze cykliczne zostało dodane w wersji 3.0.
Wartość | Opis |
---|---|
Prawda | Wysyła natychmiast PRAGMA recursive_triggers po otwarciu połączenia. |
Fałsz | Nie wysyła PRAGMA recursive_triggers . Jest to opcja domyślna. |
Domyślny limit czasu
Domyślny limit czasu (w sekundach) na potrzeby wykonywania poleceń. Wartość domyślna to 30. Limit czasu polecenia jest aliasem tego słowa kluczowego.
Tę wartość można zastąpić przy użyciu DefaultTimeout metody , która z kolei może zostać zastąpiona za pomocą polecenia CommandTimeout.
Uwaga
Domyślne słowo kluczowe limitu czasu zostało dodane w wersji 6.0.
Buforowanie
Wartość wskazująca, czy połączenie zostanie w puli.
Uwaga
Słowo kluczowe Pooling zostało dodane w wersji 6.0.
Wartość | Opis |
---|---|
Prawda | Połączenie zostanie w puli. Jest to opcja domyślna. |
Fałsz | Połączenie nie zostanie w puli. |
Vfs
Wartość wskazująca, którą implementację wirtualnego systemu plików (VFS) należy użyć. Jeśli jest on pusty lub nie jest określony, jest używany domyślny system plików VFS dla platformy.
Uwaga
Słowo kluczowe Vfs zostało dodane w wersji 10.0.
Konstruktor parametrów połączenia
Możesz użyć SqliteConnectionStringBuilder jako silnie typizowanego sposobu tworzenia parametry połączenia. Może również służyć do zapobiegania atakom polegającym na wstrzyknięciu parametry połączenia.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Przykłady
Podstawowy
Podstawowa parametry połączenia z udostępnioną pamięcią podręczną w celu zwiększenia współbieżności.
Uwaga
Mieszanie trybu udostępnionej pamięci podręcznej i rejestrowanie z wyprzedzeniem jest odradzane. Aby uzyskać optymalną wydajność, usuń Cache=Shared
, gdy baza danych jest skonfigurowana do korzystania z rejestrowania z wyprzedzeniem zapisu.
Data Source=Application.db;Cache=Shared
Zaszyfrowane
Zaszyfrowana baza danych.
Data Source=Encrypted.db;Password=MyEncryptionKey
Tylko do odczytu
Baza danych tylko do odczytu, której nie można modyfikować przez aplikację.
Data Source=Reference.db;Mode=ReadOnly
W pamięci
Prywatna baza danych w pamięci.
Data Source=:memory:
Udostępnianie w pamięci
Udostępnialna baza danych w pamięci zidentyfikowana przez nazwę Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared