Cadeias de conexãoConnection strings

Uma cadeia de conexão é usada para especificar como se conectar ao banco de dados.A connection string is used to specify how to connect to the database. As cadeias de conexão em Microsoft. Data. sqlite seguem a sintaxe ADO.net padrão como uma lista de palavras-chave e valores separados por ponto e vírgula.Connection strings in Microsoft.Data.Sqlite follow the standard ADO.NET syntax as a semicolon-separated list of keywords and values.

Palavras-chaveKeywords

As palavras-chave da cadeia de conexão a seguir podem ser usadas com Microsoft. Data. sqlite:The following connection string keywords can be used with Microsoft.Data.Sqlite:

Fonte de dadosData source

O caminho do arquivo de banco de dados.The path to the database file. DataSource (sem espaço) e nome de arquivo são aliases dessa palavra-chave.DataSource (without a space) and Filename are aliases of this keyword.

O SQLite trata caminhos relativos ao diretório de trabalho atual.SQLite treats paths relative to the current working directory. Caminhos absolutos também podem ser especificados.Absolute paths can also be specified.

Se estiver vazio, o SQLite criará um banco de dados temporário em disco que é excluído quando a conexão é fechada.If empty, SQLite creates a temporary on-disk database that's deleted when the connection is closed.

Se :memory:, um banco de dados na memória é usado.If :memory:, an in-memory database is used. Para obter mais informações, consulte bancos de dados na memória.For more information, see In-Memory databases.

Os caminhos que começam com |DataDirectory| a cadeia de caracteres de substituição são tratados da mesma forma que os caminhos relativos.Paths that start with the |DataDirectory| substitution string are treated the same as relative paths. Se definido, os caminhos são feitos em relação ao valor da propriedade de domínio do aplicativo DataDirectory.If set, paths are made relative to the DataDirectory application domain property value.

Essa palavra-chave também dá suporte a nomes de fileuri.This keyword also supports URI Filenames.

ModeMode

O modo de conexão.The connection mode.

ValorValue DescriçãoDescription
ReadWriteCreateReadWriteCreate Abre o banco de dados para leitura e gravação e cria-o se ele não existir.Opens the database for reading and writing, and creates it if it doesn't exist. Esse é o padrão.This is the default.
ReadWriteReadWrite Abre o banco de dados para leitura e gravação.Opens the database for reading and writing.
ReadOnlyReadOnly Abre o banco de dados no modo somente leitura.Opens the database in read-only mode.
MemóriaMemory Abre um banco de dados na memória.Opens an in-memory database.

CacheCache

O modo de cache usado pela conexão.The caching mode used by the connection.

ValorValue DescriçãoDescription
PadrãoDefault Usa o modo padrão da biblioteca SQLite subjacente.Uses the default mode of the underlying SQLite library. Esse é o padrão.This is the default.
PrivadoPrivate Cada conexão usa um cache privado.Each connection uses a private cache.
CompartilhadoShared As conexões compartilham um cache.Connections share a cache. Esse modo pode alterar o comportamento do bloqueio de transação e tabela.This mode can change the behavior of transaction and table locking.

SenhaPassword

A chave de criptografia.The encryption key. Quando especificado, PRAGMA key é enviado imediatamente após a abertura da conexão.When specified, PRAGMA key is sent immediately after opening the connection.

Aviso

A senha não tem efeito quando a criptografia não tem suporte da biblioteca SQLite nativa.Password has no effect when encryption isn't supported by the native SQLite library.

Chaves estrangeirasForeign Keys

Um valor que indica se as restrições de chave estrangeira devem ser habilitadas.A value indicating whether to enable foreign key constraints.

ValorValue DescriçãoDescription
TrueTrue Envia PRAGMA foreign_keys = 1 imediatamente após a abertura da conexão.Sends PRAGMA foreign_keys = 1 immediately after opening the connection.
FalsoFalse Envia PRAGMA foreign_keys = 0 imediatamente após a abertura da conexão.Sends PRAGMA foreign_keys = 0 immediately after opening the connection.
(vazio)(empty) Não envia PRAGMA foreign_keys.Doesn't send PRAGMA foreign_keys. Esse é o padrão.This is the default.

Não há necessidade de habilitar chaves estrangeiras se, como em e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS foi usado para compilar a biblioteca SQLite nativa.There's no need enable foreign keys if, like in e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS was used to compile the native SQLite library.

Gatilhos recursivosRecursive triggers

Um valor que indica se os gatilhos recursivos devem ser habilitados.A value that indicates whether to enable recursive triggers.

ValorValue DescriçãoDescription
TrueTrue Envia PRAGMA recursive_triggers imediatamente após a abertura da conexão.Sends PRAGMA recursive_triggers immediately after opening the connection.
FalsoFalse Não envia PRAGMA recursive_triggers.Doesn't send PRAGMA recursive_triggers. Esse é o padrão.This is the default.

Construtor de cadeia de conexãoConnection string builder

Você pode usar SqliteConnectionStringBuilder como uma maneira fortemente tipada de criar cadeias de conexão.You can use SqliteConnectionStringBuilder as a strongly typed way of creating connection strings. Ele também pode ser usado para evitar ataques de injeção de cadeia de conexão.It can also be used to prevent connection string injection attacks.

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

ExemplosExamples

BasicBasic

Uma cadeia de conexão básica com um cache compartilhado para simultaneidade aprimorada.A basic connection string with a shared cache for improved concurrency.

Data Source=Application.db;Cache=Shared

CriptografadoEncrypted

Um banco de dados criptografado.An encrypted database.

Data Source=Encrypted.db;Password=MyEncryptionKey

Somente leituraRead-only

Um banco de dados somente leitura que não pode ser modificado pelo aplicativo.A read-only database that cannot be modified by the app.

Data Source=Reference.db;Mode=ReadOnly

Na memóriaIn-memory

Um banco de dados privado na memória.A private, in-memory database.

Data Source=:memory:

Compartilhável na memóriaSharable in-memory

Um banco de dados compartilhável e na memória identificado pelo nome compartilhável.A sharable, in-memory database identified by the name Sharable.

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

Veja tambémSee also