Anslutningssträngar
En anslutningssträng används för att ange hur du ansluter till databasen. Anslutningssträngar i Microsoft.Data.Sqlite följer standardsyntaxen ADO.NET som en semikolonavgränsad lista med nyckelord och värden.
Nyckelord
Följande anslutningssträng nyckelord kan användas med Microsoft.Data.Sqlite:
Datakälla
Sökvägen till databasfilen. DataSource (utan blanksteg) och Filnamn är alias för det här nyckelordet.
SQLite behandlar sökvägar i förhållande till den aktuella arbetskatalogen. Absoluta sökvägar kan också anges.
Om den är tom skapar SQLite en tillfällig databas på disk som tas bort när anslutningen stängs.
Om :memory:
används en minnesintern databas. Mer information finns i Minnesinterna databaser.
Sökvägar som börjar med ersättningssträngen |DataDirectory|
behandlas på samma sätt som relativa sökvägar. Om det anges görs sökvägar i förhållande till egenskapsvärdet för DataDirectory-programdomänen.
Det här nyckelordet stöder även URI-filnamn.
Läge
Anslutningsläget.
Värde | beskrivning |
---|---|
ReadWriteCreate | Öppnar databasen för läsning och skrivning och skapar den om den inte finns. Det här är standardinställningen. |
Skriv upp | Öppnar databasen för läsning och skrivning. |
Skrivskyddat | Öppnar databasen i skrivskyddat läge. |
Minne | Öppnar en minnesintern databas. |
Cache
Cachelagringsläget som används av anslutningen.
Värde | beskrivning |
---|---|
Standard | Använder standardläget för det underliggande SQLite-biblioteket. Det här är standardinställningen. |
Privat | Varje anslutning använder en privat cache. |
Delad | Anslutningar delar en cache. Det här läget kan ändra beteendet för transaktions- och tabelllåsning. |
Lösenord
Krypteringsnyckeln. När det anges PRAGMA key
skickas omedelbart efter att anslutningen har öppnats.
Varning
Lösenordet har ingen effekt när kryptering inte stöds av det interna SQLite-biblioteket.
Kommentar
Nyckelordet Lösenord lades till i version 3.0.
Sekundärnycklar
Ett värde som anger om du vill aktivera begränsningar för sekundärnyckel.
Kommentar
Nyckelordet Sekundärnycklar lades till i version 3.0.
Värde | beskrivning |
---|---|
Sant | Skickar PRAGMA foreign_keys = 1 direkt efter att anslutningen har öppnats. |
Falsk | Skickar PRAGMA foreign_keys = 0 direkt efter att anslutningen har öppnats. |
(tom) | Skickar PRAGMA foreign_keys inte . Det här är standardinställningen. |
Det finns inget behov av att aktivera sekundärnycklar om, som i e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS
användes för att kompilera det interna SQLite-biblioteket.
Rekursiva utlösare
Ett värde som anger om rekursiva utlösare ska aktiveras.
Kommentar
Nyckelordet Rekursiva utlösare lades till i version 3.0.
Värde | beskrivning |
---|---|
Sant | Skickar PRAGMA recursive_triggers direkt efter att anslutningen har öppnats. |
Falsk | Skickar PRAGMA recursive_triggers inte . Det här är standardinställningen. |
Standardvärde för tidsgräns
Standardtidsgränsen (i sekunder) för körning av kommandon. Standardvärdet är 30. Tidsgräns för kommandon är ett alias för det här nyckelordet.
Det här värdet kan åsidosättas med vilket DefaultTimeout i sin tur kan åsidosättas med .CommandTimeout
Kommentar
Nyckelordet Standardtidsgräns lades till i version 6.0.
Poolning
Ett värde som anger om anslutningen ska poolas.
Kommentar
Nyckelordet Poolning lades till i version 6.0.
Värde | beskrivning |
---|---|
Sant | Anslutningen kommer att poolas. Det här är standardinställningen. |
Falsk | Anslutningen kommer inte att poolas. |
Vfs
Ett värde som anger vilken virtuell filsystemimplementering (VFS) som ska användas. När det är tomt eller inte anges används standard-VFS för plattformen.
Kommentar
Nyckelordet Vfs lades till i version 10.0.
Anslutningssträngsbyggare
Du kan använda SqliteConnectionStringBuilder som ett starkt skrivet sätt att skapa anslutningssträng. Det kan också användas för att förhindra anslutningssträng inmatningsattacker.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Exempel
Grundläggande
En grundläggande anslutningssträng med en delad cache för förbättrad samtidighet.
Varning
Det rekommenderas inte att blanda läget för delad cache och loggning före skrivning. För optimala prestanda tar du bort Cache=Shared
när databasen är konfigurerad för att använda loggning före skrivning.
Data Source=Application.db;Cache=Shared
Krypterad
En krypterad databas.
Data Source=Encrypted.db;Password=MyEncryptionKey
Skrivskydd
En skrivskyddad databas som inte kan ändras av appen.
Data Source=Reference.db;Mode=ReadOnly
Minnesintern
En privat minnesintern databas.
Data Source=:memory:
Delbart minne
En delbar databas i minnet som identifieras med namnet Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared