Share via


SqlCeEngine.Compact Method

Reclaims wasted space in the SQL Server Compact Edition database by creating a new database file from the existing file. This method is also used to change the collating order, encryption, or password settings of the database.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Syntax

'Declaration
Public Sub Compact ( _
    connectionString As String _
)
'Usage
Dim instance As SqlCeEngine
Dim connectionString As String

instance.Compact(connectionString)
public void Compact (
    string connectionString
)
public:
void Compact (
    String^ connectionString
)
public void Compact (
    String connectionString
)
public function Compact (
    connectionString : String
)
Not applicable.

Parameters

  • connectionString
    The connection string to the destination database.

Remarks

The connection string specifies a connection to the destination database that will be created by this method.

An exception is thrown if the specified database already exists or if another file with the same name already exists. .

If you pass an empty string for the connection string, the new database file overwrites the old database file and maintains the same name.

Example

The following example demonstrates how to compact a SQL Server Compact Edition database.

Dim engine As New SqlCeEngine("Data Source = AdventureWorks.sdf")

' Specify null destination connection string for in-place compaction
'
engine.Compact(Nothing)

' Specify connection string for new database options; The following 
' tokens are valid:
'      - Password
'      - LCID
'      - Encrypt
' 
' All other SqlCeConnection.ConnectionString tokens are ignored
'
engine.Compact("Data Source=; Password =a@3!7f$dQ;")
SqlCeEngine engine = new SqlCeEngine("Data Source = AdventureWorks.sdf");

// Specify null destination connection string for in-place compaction
//
engine.Compact(null);

// Specify connection string for new database options; The following 
// tokens are valid:
//      - Password
//      - LCID
//      - Encrypt
// 
// All other SqlCeConnection.ConnectionString tokens are ignored
//
engine.Compact("Data Source=; Password =a@3!7f$dQ;");

Platforms

Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

Version Information

.NET Framework

Supported in: 3.0

.NET Compact Framework

Supported in: 2.0, 1.0

See Also

Reference

SqlCeEngine Class
SqlCeEngine Members
System.Data.SqlServerCe Namespace