SqlCeEngine.Compact 方法

通过从现有文件新建数据库文件来回收 SQL Server Compact 数据库中浪费的空间。此方法还可用来更改数据库的排序顺序、加密或密码设置。

命名空间:  System.Data.SqlServerCe
程序集:  System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)

语法

声明
Public Sub Compact ( _
    connectionString As String _
)
用法
Dim instance As SqlCeEngine
Dim connectionString As String

instance.Compact(connectionString)
public void Compact(
    string connectionString
)
public:
void Compact(
    String^ connectionString
)
member Compact : 
        connectionString:string -> unit 
public function Compact(
    connectionString : String
)

参数

  • connectionString
    类型:System.String
    到目标数据库的连接字符串。

注释

该连接字符串指定一个指向将由此方法创建的目标数据库的连接。

如果指定的数据库已经存在或者具有相同名称的另一文件已经存在,则会引发异常。.

如果为连接字符串传递空字符串,则新的数据库文件将覆盖旧的数据库文件,但名称保持不变。

重要

如果应用程序在 Compact 操作完成前异常终止,则临时数据库文件将保留在系统中。此文件命名为 <文件名>pack.sdf,必须手动删除。

示例

下面的示例说明如何压缩 SQL Server Compact 数据库。

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;");

请参阅

参考

SqlCeEngine 类

System.Data.SqlServerCe 命名空间