Dela via


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_keysinte . 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_triggersinte . 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

Se även