Partilhar via


Método CompactDatabase (SQL Server Compact)

O método CompactDatabase recupera o espaço desperdiçado no banco de dados local do SQL Server Compact 4.0. Esse método também pode ser usado para alterar as definições de ordem de agrupamento, criptografia e senha do banco de dados.

Dica

A menos que a cadeia de conexão de destino especifique explicitamente uma senha, o banco de dados resultante não será criptografado, independentemente de a origem ter sido criptografada ou não.

Sintaxe

object.CompactDatabase(SourceConnection, DestConnection)

Parâmetros

Parâmetro

Descrição

SourceConnection

Um valor de cadeia de caracteres especificando que uma conexão ao banco de dados de origem seja compactada. Ocorrerá um erro se o banco de dados especificado por SourceConnection já estiver aberto.

DestConnection

Um valor de cadeia de caracteres especificando que uma conexão ao banco de dados de destino seja criada pela compactação. Ocorrerá um erro se já existir o banco de dados especificado por DestConnection ou outro arquivo com esse nome.

Exemplo

HRESULT CompactDatabase(BSTR SourceConnection, BSTR DestConnection);

Comentários

Os parâmetros SourceConnection e DestConnection especificam as propriedades dos bancos de dados de origem e destino. A tabela a seguir lista as propriedades de conexão que você pode especificar para cada parâmetro. Todas as outras propriedades de conexão são ignoradas.

Propriedade

Descrição

Provider

Indica o nome do provedor a ser usado para estabelecer conexão com a fonte de dados. Se essa propriedade não for especificada, será adotado o provedor OLE DB para SQL Server Compact 4.0. Ocorrerá um erro se o nome do provedor na cadeia de caracteres de origem for diferente do nome do provedor na cadeia de destino.

Data Source

Indica o nome do banco de dados. Essa propriedade é necessária para informações sobre conexões de origem e destino.

Locale Identifier

Indica o LCID (identificador de localidade) do novo banco de dados. Se for omitido, o banco de dados de destino terá o mesmo LCID que a localidade do sistema.

Locale Identifier especifica a ordem de agrupamento para comparações de cadeias de caracteres no banco de dados.

SSCE:Database Password

Indica a senha, se o banco de dados for protegido por uma senha. A senha do banco de dados de origem deverá ser fornecida se esse banco de dados contiver uma senha. Se esse parâmetro for omitido da cadeia de caracteres DestConnection , o novo banco de dados será descriptografado. Se você desejar remover a senha do banco de dados de destino, a senha deverá ser definida como uma cadeia vazia. Se você fornecer uma senha em branco, o banco de dados não será criptografado. A senha do banco de dados pode ter até 40 caracteres de comprimento.

SSCE:encryption mode

or

encryption mode

Os valores desta propriedade são:

engine default

ou

platform default

O padrão é platform default.

SSCE:Temp File Directory

Especifica o local do banco de dados temporário. Se esse parâmetro for omitido da cadeia de caracteres DestConnection , o local do banco de dados atual será usado como o local do banco de dados temporário.

ssce: case sensitive

Um valor booliano que determina se o banco de dados diferencia maiúsculas de minúsculas. Deve ser definido como true para habilitar a diferenciação de maiúsculas e minúsculas ou false para desabilitá-la. Se não for especificado, o valor padrão será false.

ObservaçãoObservação
Esta propriedade é introduzida a partir do da versão do SQL Server Compact 3.5 SP1. Para obter mais informações, consulte Trabalhando com agrupamentos (SQL Server Compact).

Há suporte para valores de identificador de localidade. Use o LCID exclusivo para o valor de Locale Identifier. Para localizar uma lista de valores LCID exclusivos, consulte Agrupamentos suportados (SQL Server Compact). Verifique se há suporte para a localidade no dispositivo no qual o banco de dados está sendo criado.

Se você não especificar um valor LCID ao criar o banco de dados, o SQL Server Compact 4.0 usará a localidade do sistema. Isso difere de versões anteriores, que sempre usavam o inglês se nenhuma localidade fosse fornecida.

Importante

O encerramento anormal de um aplicativo antes da conclusão da operação Compact deixa um arquivo de banco de dados temporário no sistema. O nome desse arquivo é <nome_do_arquivo>pack.sdf e deve ser removido manualmente.

Consulte também

Referência

Propriedade ErrorRecords (SQL Server Compact)

Outros recursos

Programação do objeto Engine (SQL Server Compact)