Bağlantı dizeleri

Veritabanına nasıl bağlanılacağını belirtmek için bir bağlantı dizesi kullanılır. Microsoft.Data.Sqlite'daki Bağlan ion dizeleri, anahtar sözcüklerin ve değerlerin noktalı virgülle ayrılmış listesi olarak standart ADO.NET söz dizimini izler.

Anahtar sözcükler

Aşağıdaki bağlantı dizesi anahtar sözcükleri Microsoft.Data.Sqlite ile kullanılabilir:

Veri Kaynağı

Veritabanı dosyasının yolu. DataSource (boşluksuz) ve Dosya adı bu anahtar sözcüğün diğer adlarıdır.

SQLite, yolları geçerli çalışma dizinine göre ele alır. Mutlak yollar da belirtilebilir.

Boşsa, SQLite bağlantı kapatıldığında silinen geçici bir disk içi veritabanı oluşturur.

ise :memory:, bellek içi veritabanı kullanılır. Daha fazla bilgi için bkz . Bellek içi veritabanları.

Değiştirme dizesiyle |DataDirectory| başlayan yollar, göreli yollar ile aynı şekilde değerlendirilir. Ayarlanırsa, yollar DataDirectory uygulama etki alanı özellik değerine göre yapılır.

Bu anahtar sözcük URI Dosya Adlarını da destekler.

Mod

Bağlantı modu.

Value Açıklama
ReadWriteCreate Veritabanını okuma ve yazma için açar ve yoksa oluşturur. Bu varsayılan seçenektir.
Readwrite Veritabanını okuma ve yazma için açar.
Salt Okunur Veritabanını salt okunur modda açar.
Bellek Bellek içi veritabanını açar.

Önbellek

Bağlantı tarafından kullanılan önbelleğe alma modu.

Value Açıklama
Varsayılan Temel alınan SQLite kitaplığının varsayılan modunu kullanır. Bu varsayılan seçenektir.
Özel Her bağlantı bir özel önbellek kullanır.
Paylaşılan Bağlan ions bir önbelleği paylaşır. Bu mod, işlem ve tablo kilitleme davranışını değiştirebilir.

Parola

Şifreleme anahtarı. Belirtildiğinde, PRAGMA key bağlantı açıldıktan hemen sonra gönderilir.

Uyarı

Şifreleme yerel SQLite kitaplığı tarafından desteklenmediğinde parolanın hiçbir etkisi olmaz.

Not

Password anahtar sözcüğü sürüm 3.0'a eklendi.

Yabancı Anahtarlar

Yabancı anahtar kısıtlamalarının etkinleştirilip etkinleştirilmeymeyeceğini belirten bir değer.

Not

Yabancı Anahtarlar anahtar sözcüğü sürüm 3.0'a eklendi.

Value Açıklama
True Bağlantıyı açtıktan hemen sonra gönderir PRAGMA foreign_keys = 1 .
False Bağlantıyı açtıktan hemen sonra gönderir PRAGMA foreign_keys = 0 .
(boş) göndermiyor PRAGMA foreign_keys. Bu varsayılan seçenektir.

Yerel SQLite kitaplığını derlemek için e_sqlite3'da SQLITE_DEFAULT_FOREIGN_KEYS olduğu gibi yabancı anahtarları etkinleştirmeniz gerekmez.

Özyinelemeli Tetikleyiciler

Özyinelemeli tetikleyicilerin etkinleştirilip etkinleştirilmeymeyeceğini gösteren değer.

Not

Özyinelemeli Tetikleyiciler anahtar sözcüğü 3.0 sürümüne eklendi.

Value Açıklama
True Bağlantıyı açtıktan hemen sonra gönderir PRAGMA recursive_triggers .
False göndermiyor PRAGMA recursive_triggers. Bu varsayılan seçenektir.

Varsayılan Zaman Aşımı

Komutları yürütmek için varsayılan zaman aşımı (saniye olarak). Varsayılan değer 30’dur. Komut Zaman Aşımı bu anahtar sözcüğün diğer adıdır.

Bu değer kullanılarak geçersiz kılınabilir DefaultTimeout ve bu değer kullanılarak CommandTimeoutgeçersiz kılınabilir.

Not

Varsayılan Zaman Aşımı anahtar sözcüğü sürüm 6.0'a eklendi.

Biriktirme

Bağlantının havuza alınıp alınmayacağını gösteren değer.

Not

Pooling anahtar sözcüğü sürüm 6.0'a eklendi.

Value Açıklama
True Bağlantı havuza alınacaktır. Bu varsayılan seçenektir.
False Bağlantı havuza alınmayacak.

Bağlan ion dize oluşturucusu

bağlantı dizesi oluşturmanın kesin olarak belirlenmiş bir yolu olarak kullanabilirsinizSqliteConnectionStringBuilder. Bağlantı dizesi ekleme saldırılarını önlemek için de kullanılabilir.

var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
    Mode = SqliteOpenMode.ReadWriteCreate,
    Password = password
}.ToString();

Örnekler

Temel

Geliştirilmiş eşzamanlılık için paylaşılan önbelleğe sahip temel bir bağlantı dizesi.

Dikkat

Paylaşılan önbellek modunu ve önceden yazma günlüğünü karıştırmak önerilmez. En iyi performans için veritabanı önceden yazma günlüğünü kullanacak şekilde yapılandırıldığında kaldırın Cache=Shared .

Data Source=Application.db;Cache=Shared

Şifreli

Şifrelenmiş bir veritabanı.

Data Source=Encrypted.db;Password=MyEncryptionKey

Salt Okunur

Uygulama tarafından değiştirilemeyen salt okunur bir veritabanı.

Data Source=Reference.db;Mode=ReadOnly

Bellek içi

Özel, bellek içi veritabanı.

Data Source=:memory:

Bellek içinde paylaşılabilir

Paylaşılabilir adıyla tanımlanan paylaşılabilir, bellek içi veritabanı.

Data Source=Sharable;Mode=Memory;Cache=Shared

Ayrıca bkz.