/// <summary> /// Repairs the given corrupted database trying to recover all possible rows. /// </summary> public void RepairDb() { using (var eng = new SqlCeEngine(_connectionString)) { #if WindowsCE eng.Repair(null, RepairOption.RecoverCorruptedRows); #else eng.Repair(null, RepairOption.RecoverAllPossibleRows); #endif } }
/// <summary> /// Repairs a corrupted database. Call this method when <see cref="Verify"/> returns false. /// </summary> public void Repair() { using (var engine = new SqlCeEngine(ConnectionString)) { engine.Repair(null, RepairOption.RecoverAllPossibleRows); } // Same thing using Reflection: //object sqlCeEngine = null; //try //{ // sqlCeEngine = SqlCeEngineType.InvokeMember(null, BindingFlags.CreateInstance, null, null, new object[] { ConnectionString }); // var repairOptionEnumType = SqlCeAssembly.GetType("System.Data.SqlServerCe.RepairOption"); // var repairOptionRecoverAll = repairOptionEnumType.GetField("RecoverAllPossibleRows").GetValue(repairOptionEnumType); // SqlCeEngineType.InvokeMember("Repair", BindingFlags.InvokeMethod, null, sqlCeEngine, new[] { null, repairOptionRecoverAll }); //} //catch (TargetInvocationException ex) //{ // AppEventController.LogError(ex.InnerException ?? ex); // throw; //} //finally //{ // if (sqlCeEngine != null) // SqlCeEngineType.InvokeMember("Dispose", BindingFlags.InvokeMethod, null, sqlCeEngine, null); //} }
public void RepairDatabaseRecoverAllOrFail(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.RecoverAllOrFail); } }
public void RepairDatabaseDeleteCorruptedRows(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.DeleteCorruptedRows); } }
public void RepairDatabaseDeleteCorruptedRows(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.DeleteCorruptedRows); } }
public void RepairDatabaseRecoverAllOrFail(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.RecoverAllOrFail); } }
public void RepairDatabaseRecoverAllPossibleRows(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.RecoverAllPossibleRows); } }
public void RepairDatabaseRecoverAllPossibleRows(string connectionString) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { engine.Repair(connectionString, RepairOption.RecoverAllPossibleRows); } }
public static void RepairDb(string fileName) { SqlCeEngine engine = new SqlCeEngine(TrialDataContext.GetConnectionString(fileName)); if (!engine.Verify()) { engine.Repair(null, RepairOption.RecoverAllOrFail); } }
public ActionResult Repair() { var engine = new SqlCeEngine(ConfigurationManager.ConnectionStrings["FeedsDbEntities"].ConnectionString); // Specify null destination connection string for in-place repair engine.Repair(null, RepairOption.RecoverAllOrFail); return View(); }
public BaseGeneralService() { SqlCeEngine engine = new SqlCeEngine(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); if (false == engine.Verify()) { // MessageBox.Show("Database is corrupted."); engine.Repair(null, RepairOption.RecoverAllOrFail); } }
static LocalCeDbContext() { //不重建数据库结构 //Database.SetInitializer<LocalCeDbContext>(new DropCreateDatabaseAlways<LocalCeDbContext>()); Database.SetInitializer <LocalCeDbContext>(null); SqlCeEngine engine = new SqlCeEngine(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); if (false == engine.Verify()) { engine.Repair(null, RepairOption.RecoverAllOrFail); } }
private void verify() { SqlCeEngine engine = new SqlCeEngine(connection.ConnectionString); if (!engine.Verify()) { engine.Repair(connection.ConnectionString, RepairOption.RecoverCorruptedRows); } else { engine.Shrink(); } }
/// <summary> /// Verifies the data base. /// </summary> /// <param name="path">The path.</param> /// <param name="contentProtected">if set to <c>true</c> [content protected].</param> /// <param name="password">The password.</param> /// <remarks>Documented by Dev03, 2009-04-30</remarks> public static void VerifyDataBase(string path, bool contentProtected, string password) { string connectionString = contentProtected ? MSSQLCEConn.GetFullConnectionString(path, password) : MSSQLCEConn.GetFullConnectionString(path); using (SqlCeEngine sqlEngine = new SqlCeEngine()) { sqlEngine.LocalConnectionString = connectionString; sqlEngine.Repair(connectionString, RepairOption.RecoverAllPossibleRows); sqlEngine.Shrink(); try { File.Delete(Path.ChangeExtension(path, ".log")); } catch { Debug.WriteLine("Can not delete logfile "); } } }
/// <summary> /// Try to repair a corrupted database file by connection string to it. /// </summary> /// <param name="connectionString">Connection string to the database file that should be repaired.</param> private static void RepairDatabaseFile(string connectionString) { if (string.IsNullOrWhiteSpace(connectionString)) { throw new ArgumentNullException("connectionString"); } using (var sqlCeEngine = new SqlCeEngine(connectionString)) { //TODO: consider using different repair param sqlCeEngine.Repair(connectionString, RepairOption.RecoverAllOrFail); } }
/// <summary> /// Calls the engine repair asynchronous. /// </summary> /// <returns>Task.</returns> public static Task CallEngineRepairAsync() { Task t = Task.Run(() => { DatabaseCommands commands = new DatabaseCommands(); using (SqlCeEngine engine = new SqlCeEngine(commands.GetConnectionString())) { ConnectionStringSettings conSetting = new ConnectionStringSettings(); conSetting = ConfigHelper.save_new_connection(commands.GetConnectionString()); engine.Repair(conSetting.ConnectionString, RepairOption.RecoverAllPossibleRows); } }); t.Wait(); return(t); }
/// <summary> /// Répare la BD /// </summary> /// <param name="repairException"></param> /// <returns></returns> public bool Repair(out Exception repairException) { repairException = null; try { GetConnection().Close(); using (SqlCeEngine engine = new SqlCeEngine(ConnectionString)) { engine.Repair(null, RepairOption.DeleteCorruptedRows); return(true); } } catch (Exception innerRepairException) { repairException = innerRepairException; } return(false); }
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(); }
/// <summary> /// Handles the Click event of the cmdRepair control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> public void cmdRepair_Click(object sender, RoutedEventArgs e) { DatabaseCommands commands = new DatabaseCommands(); try { using (SqlCeEngine engine = new SqlCeEngine(commands.GetConnectionString())) { ConnectionStringSettings conSetting = new ConnectionStringSettings(); conSetting = ConfigHelper.save_new_connection(commands.GetConnectionString()); engine.Repair(conSetting.ConnectionString, RepairOption.RecoverAllPossibleRows); } } catch (SqlCeException ex) { foreach (SqlCeError error in ex.Errors) { //Error handling, etc. MessageBox.Show(error.Message); } } }
public bool Verify() { bool result = false; using (SqlCeEngine engine = new SqlCeEngine(_connString)) { result = engine.Verify(VerifyOption.Enhanced); if (!result) { try { engine.Upgrade(); } catch (Exception) { }; if (!engine.Verify(VerifyOption.Enhanced)) { engine.Repair(null, RepairOption.RecoverCorruptedRows); } result = engine.Verify(VerifyOption.Enhanced); } engine.Dispose(); } return(result); }
static void Main(string[] args) { Console.WriteLine("ExpressTaxi Database Repair Tool set."); Console.WriteLine("Attempting Database Repair Please Wait..."); try { string dataSource = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\ExpressTaxi.sdf"; string tmpfile = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\ExpressTaxi.sdf.tmp"; SqlCeEngine ce = new SqlCeEngine(string.Format("Data Source = {0};" /*Password ='******'"*/, dataSource)); ce.Repair(string.Format("Data Source={0};" /* Password ='******'"*/, tmpfile), RepairOption.DeleteCorruptedRows); ce.Dispose(); System.IO.File.Delete(dataSource); System.IO.File.Move(tmpfile, dataSource); Console.WriteLine("Successfully completed the operation."); } catch (System.Exception ex) { Console.WriteLine(); Console.WriteLine(ex.Message); } Console.WriteLine(); Console.WriteLine("Press any key to continue..."); Console.ReadLine(); }
/// <summary> /// Repairs a corrupted database. Call this method when <see cref="Verify"/> returns false. /// </summary> public void Repair() { using (var engine = new SqlCeEngine(ConnectionString)) { engine.Repair(null, RepairOption.RecoverAllPossibleRows); } // Same thing using Reflection: //object sqlCeEngine = null; //try //{ // sqlCeEngine = SqlCeEngineType.InvokeMember(null, BindingFlags.CreateInstance, null, null, new object[] { ConnectionString }); // var repairOptionEnumType = SqlCeAssembly.GetType("System.Data.SqlServerCe.RepairOption"); // var repairOptionRecoverAll = repairOptionEnumType.GetField("RecoverAllPossibleRows").GetValue(repairOptionEnumType); // SqlCeEngineType.InvokeMember("Repair", BindingFlags.InvokeMethod, null, sqlCeEngine, new[] { null, repairOptionRecoverAll }); //} //catch (TargetInvocationException ex) //{ // AppEventController.LogError(ex.InnerException ?? ex); // throw; //} //finally //{ // if (sqlCeEngine != null) // SqlCeEngineType.InvokeMember("Dispose", BindingFlags.InvokeMethod, null, sqlCeEngine, null); //} }
public static void RepairDB() { var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["RegBase"].ConnectionString; SqlCeEngine engine = new SqlCeEngine(connectionString); if (false == engine.Verify()) { Console.WriteLine("Database is corrupted."); try { engine.Repair(null, RepairOption.RecoverAllPossibleRows); } catch (SqlCeException ex) { Console.WriteLine(ex.Message); } } using (RegBase regBase = new RegBase()) { if (regBase.sexes.Count() == 0) { regBase.sexes.Add(new sex() { value = "мужcкой" }); regBase.sexes.Add(new sex() { value = "женcкий" }); } if (regBase.i_ua_domen_names.Count() == 0) { regBase.i_ua_domen_names.Add(new i_ua_domen_names() { value = "i.ua" }); regBase.i_ua_domen_names.Add(new i_ua_domen_names() { value = "ua.fm" }); regBase.i_ua_domen_names.Add(new i_ua_domen_names() { value = "email.ua" }); } if (regBase.countrys.Count() == 0) { regBase.countrys.Add(new country() { value = "Украина" }); regBase.countrys.Add(new country() { value = "Россия" }); } if (regBase.citys.Count() == 0) { regBase.citys.Add(new city() { value = "Харьков" }); regBase.citys.Add(new city() { value = "Москва" }); } if (regBase.secret_questions.Count() == 0) { regBase.secret_questions.Add(new secret_questions() { value = "Любимое блюдо" }); regBase.secret_questions.Add(new secret_questions() { value = "Имя животного" }); regBase.secret_questions.Add(new secret_questions() { value = "Памятная дата" }); regBase.secret_questions.Add(new secret_questions() { value = "Девичья фамилия матери" }); regBase.secret_questions.Add(new secret_questions() { value = "Прозвище в школе" }); regBase.secret_questions.Add(new secret_questions() { value = "Номер паспорта" }); } if (regBase.settings.Count() == 0) { } regBase.SaveChanges(); } }
internal void Execute(EngineAction action, string newConnectionString) { // Specify connection string for new database options; The following // tokens are valid: // - Password // - LCID // - Encryption Mode // - Case Sensitive // // All other SqlCeConnection.ConnectionString tokens are ignored // // engine.Compact("Data Source=; Password =a@3!7f$dQ;"); if (action != EngineAction.GetInfo) { using (SqlCeEngine engine = new SqlCeEngine(connectionString)) { switch (action) { case EngineAction.Undefined: break; case EngineAction.Shrink: engine.Shrink(); Console.WriteLine("Database successfully shrunk"); break; case EngineAction.Verify: Console.WriteLine(engine.Verify(VerifyOption.Enhanced) ? "Database successfully verified" : "Database verification failed"); break; case EngineAction.Compact: engine.Compact(null); Console.WriteLine("Database successfully compacted"); break; case EngineAction.Upgrade: engine.Upgrade(); Console.WriteLine("Database successfully upgraded"); break; case EngineAction.Create: engine.CreateDatabase(); Console.WriteLine("Database successfully created"); break; case EngineAction.RepairDelete: engine.Repair(null, RepairOption.DeleteCorruptedRows); Console.WriteLine("Database successfully repaired"); break; case EngineAction.RepairRecover: engine.Repair(null, RepairOption.RecoverAllOrFail); Console.WriteLine("Database successfully repaired"); break; case EngineAction.SetOption: engine.Compact(newConnectionString); Console.WriteLine("Database option(s) successfully changed"); break; default: break; } } } else if (action == EngineAction.GetInfo) { using (SqlCeConnection cn = new SqlCeConnection(connectionString)) { cn.Open(); List <KeyValuePair <string, string> > valueList = new List <KeyValuePair <string, string> >(); // 3.5 or later only API valueList = cn.GetDatabaseInfo(); valueList.Add(new KeyValuePair <string, string>("Database", cn.Database)); valueList.Add(new KeyValuePair <string, string>("ServerVersion", cn.ServerVersion)); if (System.IO.File.Exists(cn.Database)) { System.IO.FileInfo fi = new System.IO.FileInfo(cn.Database); valueList.Add(new KeyValuePair <string, string>("DatabaseSize", fi.Length.ToString(CultureInfo.InvariantCulture))); valueList.Add(new KeyValuePair <string, string>("Created", fi.CreationTime.ToShortDateString() + " " + fi.CreationTime.ToShortTimeString())); } valueList.Add(new KeyValuePair <string, string>(string.Empty, string.Empty)); valueList.Insert(0, new KeyValuePair <string, string>("SqlCeCmd", "Database Information")); foreach (KeyValuePair <string, string> pair in valueList) { Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "{0}: {1}", pair.Key, pair.Value)); } } } return; }
/// <summary> /// Répare la BD /// </summary> /// <param name="repairException"></param> /// <returns></returns> public bool Repair(out Exception repairException) { repairException = null; try { GetConnection().Close(); using (SqlCeEngine engine = new SqlCeEngine(ConnectionString)) { engine.Repair(null, RepairOption.DeleteCorruptedRows); return true; } } catch (Exception innerRepairException) { repairException = innerRepairException; } return false; }
public void Repair() { using (SqlCeEngine engine = new SqlCeEngine(_connString)) engine.Repair(null, RepairOption.RecoverCorruptedRows); }
/// <summary> /// Repairs a corrupted database. Call this method when <see cref="Verify"/> returns false. Applies only to SQL CE. /// </summary> internal static void Repair() { using (SqlCeEngine engine = new SqlCeEngine(Util.ConnectionString)) { engine.Repair(null, RepairOption.RecoverAllPossibleRows); } }