Condividi tramite


Metodo CompactDatabase (SQL Server Compact)

Il metodo CompactDatabase recupera lo spazio inutilizzato nel database locale di SQL Server Compact 3.5. Questo metodo può inoltre essere utilizzato per modificare i criteri di confronto, le impostazioni di crittografia e quelle della password del database.

Nota

Se nella stringa di connessione di destinazione non viene esplicitamente specificata una password, il database risultante non verrà crittografato, indipendentemente dal fatto che l'origine sia stata o meno crittografata.

Sintassi

object.CompactDatabase(SourceConnection, DestConnection)

Parametri

Parametro

Descrizione

SourceConnection

Valore stringa che specifica una connessione al database di origine di cui eseguire la compattazione. Se il database indicato da SourceConnection è già aperto, si verifica un errore.

DestConnection

Valore stringa che specifica una connessione al database di destinazione da creare mediante la compattazione. Se esiste già il database specificato in DestConnection o un altro file con lo stesso nome, si verifica un errore.

Esempio

HRESULT CompactDatabase(BSTR SourceConnection, BSTR DestConnection);

Osservazioni

I parametri SourceConnection e DestConnection specificano le proprietà dei database di origine e di destinazione. Nella tabella seguente vengono elencate le proprietà di connessione che è possibile impostare per ogni parametro. Tutte le altre proprietà di connessione vengono ignorate.

Proprietà

Descrizione

Provider

Indica il nome del provider da utilizzare per connettersi all'origine dei dati. Se questa proprietà non viene specificata, verrà utilizzato il provider OLE DB per SQL Server Compact 3.5. Se il nome del provider nella stringa di origine è diverso dal nome del provider nella stringa di destinazione, si verifica un errore.

Data Source

Indica il nome del database. Questa proprietà è obbligatoria per le informazioni di connessione sia di origine che di destinazione.

Locale Identifier

Indica l'identificatore delle impostazioni locali (LCID) per il nuovo database. Se viene omesso, il database di destinazione avrà lo stesso LCID delle impostazioni locali del sistema.

Locale Identifier specifica i criteri per il confronto delle stringhe all'interno del database.

SSCE:Database Password

Indica la password, se il database è protetto tramite password. Se il database di origine contiene una password, questa deve essere specificata. Se questo parametro viene omesso dalla stringa DestConnection , il nuovo database non verrà crittografato. Se si desidera rimuovere la password dal database di destinazione, è necessario impostare la password del database come stringa vuota. Se si specifica una password vuota, il database non verrà crittografato. La password del database può essere costituita da un massimo di 40 caratteri.

SSCE:encryption mode

or

encryption mode

I valori per questa proprietà sono i seguenti:

engine default

oppure

platform default

oppure

ppc2003 compatibility

L'impostazione predefinita è platform default.

SSCE:Encrypt Database

Indica se eseguire la crittografia del nuovo database. Se questo parametro viene omesso dalla stringa DestConnection , il nuovo database avrà la stessa crittografia del database di origine. Si tratta di un valore booleano che deve essere impostato su TRUE per applicare la crittografia o su FALSE per non applicarla.

NotaNota
Se si specifica SSCE:Database Password, il database viene sempre crittografato, a prescindere dall'impostazione o meno di SSCE:Encrypt Database.

SSCE:Temp File Directory

Specifica il percorso del database temporaneo. Se questo parametro viene omesso dalla stringa DestConnection , come percorso del database temporaneo verrà utilizzato il percorso del database corrente.

ssce: case sensitive

Valore booleano che determina se al database viene applicata la distinzione tra maiuscole e minuscole. Per abilitare la distinzione tra maiuscole e minuscole, tale valore deve essere impostato su true. In caso contrario, deve essere impostato su false. Se il valore non viene specificato, l'impostazione predefinita è false.

NotaNota
Questa proprietà viene introdotta a partire dalla versione SQL Server Compact 3.5 SP1. Per ulteriori informazioni, vedere Utilizzo delle regole di confronto (SQL Server Compact).

I valori identificatore delle impostazioni locali sono supportati. Per il valore di Locale Identifier utilizzare l'identificatore LCID univoco. Per un elenco di valori LCID univoci, vedere Regole di confronto supportate (SQL Server Compact). È necessario verificare che il dispositivo in cui si desidera creare il database supporti le impostazioni locali.

Se al momento della creazione del database non si specifica alcun valore LCID, SQL Server Compact 3.5 utilizzerà le impostazioni locali del sistema, diversamente dalle precedenti versioni, in cui, in caso di mancata specifica delle impostazioni locali, si utilizzano sempre le impostazioni inglesi.

Importante

In caso di interruzione anomala di un'applicazione prima del completamento di un'operazione Compact, nel sistema rimane un file di database temporaneo. Tale file viene denominato <nomefile>pack.sdf e deve essere rimosso manualmente.

Vedere anche

Altre risorse

Programmazione con l'oggetto Engine (SQL Server Compact)

Proprietà ErrorRecords (SQL Server Compact)