Cadeias de conexão
Uma cadeia de conexão é usada para especificar como se conectar ao banco de dados. As cadeias de conexão no Microsoft.Data.Sqlite seguem a sintaxe ADO.NET padrão como uma lista separada por ponto e vírgula de palavras-chave e valores.
Palavras-chave
As palavras-chave da cadeia de conexão a seguir podem ser usadas com Microsoft. Data.Sqlite:
fonte de dados
O caminho do arquivo de banco de dados. DataSource (sem espaço) e Filename são aliases dessa palavra-chave.
O SQLite trata caminhos relativos ao diretório de trabalho atual. Caminhos absolutos também podem ser especificados.
Se vazio, o SQLite criará um banco de dados temporário no disco que é excluído quando a conexão é fechada.
Se :memory:
, um banco de dados na memória é usado. Para obter mais informações, consulte Bancos de dados na memória.
Os caminhos que começam com a cadeia de caracteres de substituição |DataDirectory|
são tratados da mesma forma que caminhos relativos. Se definidos, os caminhos serão feitos em relação ao valor da propriedade de domínio do aplicativo DataDirectory.
Essa palavra-chave também dá suporte a nomes de arquivo URI.
Modo
O modo de conexão.
Valor | Descrição |
---|---|
ReadWriteCreate | Abre o banco de dados para leitura e gravação e o cria se ele não existir. Esse é o padrão. |
ReadWrite | Abre o banco de dados para leitura e gravação. |
ReadOnly | Abre o banco de dados no modo somente leitura. |
Memória | Abre um banco de dados na memória. |
Cache
O modo de cache usado pela conexão.
Valor | Descrição |
---|---|
Padrão | Usa o modo padrão da biblioteca SQLite subjacente. Esse é o padrão. |
Privado | Cada conexão usa um cache privado. |
Compartilhado | As conexões compartilham um cache. Esse modo pode alterar o comportamento de transação de bloqueio de tabela. |
Senha
A chave de criptografia. Quando especificado, PRAGMA key
é enviado imediatamente após abrir a conexão.
Aviso
A senha não tem efeito quando a criptografia não tem suporte na biblioteca nativa do SQLite.
Observação
A palavra-chave Senha foi adicionada na versão 3.0.
Chaves estrangeiras
Um valor que indica se as restrições de chave estrangeira devem ser habilitadas.
Observação
A palavra-chave Chaves Estrangeiras foi adicionada na versão 3.0.
Valor | Descrição |
---|---|
True | Envia PRAGMA foreign_keys = 1 imediatamente após a abertura da conexão. |
Falso | Envia PRAGMA foreign_keys = 0 imediatamente após a abertura da conexão. |
(vazio) | Não envia PRAGMA foreign_keys . Esse é o padrão. |
Não é necessário habilitar chaves estrangeiras se, como no e_sqlite3, SQLITE_DEFAULT_FOREIGN_KEYS
foi usado para compilar a biblioteca SQLite nativa.
Gatilhos recursivos
Um valor que indica se os gatilhos recursivos devem ser habilitados.
Observação
A palavra-chave Gatilhos Recursivos foi adicionada na versão 3.0.
Valor | Descrição |
---|---|
True | Envia PRAGMA recursive_triggers imediatamente após a abertura da conexão. |
Falso | Não envia PRAGMA recursive_triggers . Esse é o padrão. |
Tempo limite padrão
O tempo limite padrão (em segundos) para executar comandos. O valor padrão é 30. Tempo limite de comando é um alias desta palavra-chave.
Esse valor pode ser substituído usando DefaultTimeout que, por sua vez, pode ser substituído usando CommandTimeout.
Observação
A palavra-chave Timeout Padrão foi adicionada na versão 6.0.
Agrupamento
Um valor que indica se a conexão será agrupada.
Observação
A palavra-chave Pooling foi adicionada na versão 6.0.
Valor | Descrição |
---|---|
True | A conexão será agrupada. Esse é o padrão. |
Falso | A conexão não será agrupada. |
Construtor de cadeia de conexão
Você pode usar SqliteConnectionStringBuilder como uma maneira fortemente tipada de criar cadeias de conexão. Ele também pode ser usado para evitar ataques de injeção de cadeia de conexão.
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
Mode = SqliteOpenMode.ReadWriteCreate,
Password = password
}.ToString();
Importante
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades gerenciadas para recursos do Azure é o método de autenticação recomendado.
Exemplos
Basic
Uma cadeia de conexão básica com um cache compartilhado para melhorar a simultaneidade.
Cuidado
Não é recomendável misturar o modo de cache compartilhado e o registro em log antecipado. Para obter o desempenho ideal, remova Cache=Shared
quando o banco de dados estiver configurado para usar o registro em log antecipado.
Data Source=Application.db;Cache=Shared
Criptografado
Um banco de dados criptografado.
Data Source=Encrypted.db;Password=MyEncryptionKey
Somente leitura
Um banco de dados somente leitura que não pode ser modificado pelo aplicativo.
Data Source=Reference.db;Mode=ReadOnly
Na memória
Um banco de dados privado na memória.
Data Source=:memory:
Fragmentável na memória
Um banco de dados fragmentável na memória identificado pelo nome Sharable.
Data Source=Sharable;Mode=Memory;Cache=Shared