SQL Server Compact"修复工具在哪里?"

时间:2014-04-11 00:04:38

标签: c# sql-server-ce

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

  

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

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

我在Google和StackOverflow上搜索了答案:

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

MSDN article讨论了以编程方式执行此操作。有命令行方法吗?

2 个答案:

答案 0 :(得分:7)

这是一个适用的小型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();
    }
}

在此MSDN Article中查找更多选项。使用ScriptCs在命令提示符中执行。

答案 1 :(得分:3)

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