SQL Server Compact"修复实用程序在哪里?"

Sha*_*tin 5 c# sql-server-ce

我使用C#System.Data.SqlServerCe版本3.5.1.0来创建.SDF数据库文件.在创建后打开连接时,我有时会收到以下错误:

数据库文件可能已损坏.运行修复实用程序以检查数据库文件.[数据库名称= \?\ C:\ SomeDatabase.sdf]

"修理工具"在哪里?我们如何使用它?

我搜索了Google和StackOverflow以获得答案:

  • SQL Server Compact修复实用程序
  • SDF修复实用程序

这篇MSDN文章讨论了以编程方式执行此操作.有命令行方法吗?

Sha*_*tin 8

这是一个适用的小型C#.NET控制台应用程序:

class Program
{
    static void Main(string[] args)
    {
        SqlCeEngine engine = 
             new SqlCeEngine("Data Source = C:\\Users\\SomeUser\\Documents\\SomeDB.sdf");
        if (false == engine.Verify())
        {
            Console.WriteLine("Database is corrupted.");
            try
            {
                engine.Repair(null, RepairOption.DeleteCorruptedRows);
            }
            catch(SqlCeException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        Console.WriteLine("Press any key to continue.");
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

在此MSDN文章中查找更多选项.使用ScriptC在命令提示符下执行.


Eri*_*kEJ 5

您可以使用我的 sqlcecmd 工具来完成此操作,而无需编写任何代码,sqlcecmd.codeplex.com