SqlCeEngine.Repair 方法
修复损坏的数据库。
命名空间: System.Data.SqlServerCe
程序集: System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)
语法
声明
Public Sub Repair ( _
connectionString As String, _
options As RepairOption _
)
用法
Dim instance As SqlCeEngine
Dim connectionString As String
Dim options As RepairOption
instance.Repair(connectionString, options)
public void Repair(
string connectionString,
RepairOption options
)
public:
void Repair(
String^ connectionString,
RepairOption options
)
member Repair :
connectionString:string *
options:RepairOption -> unit
public function Repair(
connectionString : String,
options : RepairOption
)
参数
- connectionString
类型:System.String
到数据库的本地连接字符串。
- options
类型:System.Data.SqlServerCe.RepairOption
在修复数据库时使用的 RepairOption。
注释
有 4 个可用于修复损坏的数据库的 RepairOption 值:
RecoverAllPossibleRows
RecoverAllOrFail
DeleteCorruptedRows
RecoverCorruptedRows:此选项已被弃用,因为它不确保恢复的数据未被损坏。您应该使用 RecoverAllOrFail。
备注
在 SQL Server Compact 4.0 中,可以使用此方法创建具有区分大小写排序规则的修复数据库。如果在 Repair 方法中将连接字符串属性 CaseSensitive 设置为 false,则对于区分大小写的数据库,如果数据库包含区分大小写的索引,则即使代码成功运行,区分大小写的丢失也会导致修复日志中的索引错误。两项唯一的记录被视为相同时会出现此错误。例如“aaa”和“aaA”这两个值。以下消息会写入修复日志文件中:创建索引失败
示例
Dim engine As New SqlCeEngine("Data Source = AdventureWorks.sdf")
' Specify null destination connection string for in-place repair
'
engine.Repair(Nothing, RepairOption.DeleteCorruptedRows)
SqlCeEngine engine = new SqlCeEngine("Data Source = AdventureWorks.sdf");
// Specify null destination connection string for in-place repair
//
engine.Repair(null, RepairOption.DeleteCorruptedRows);