public void SweepTest() { FbValidation validationSvc = new FbValidation(); validationSvc.ConnectionString = this.BuildServicesConnectionString(); validationSvc.Options = FbValidationFlags.SweepDatabase; validationSvc.ServiceOutput += ServiceOutput; validationSvc.Execute(); }
private void проверкаБДToolStripMenuItem_Click(object sender, EventArgs e) { MainMenu.Enabled = false; pbWork.Style = ProgressBarStyle.Marquee; pbWork.MarqueeAnimationSpeed = 0; int cnt = 0, i = 0; foreach (ToolStripMenuItem it in dbTSMI.DropDownItems) { if (it.Checked) cnt++; i++; } pbDB.Maximum = cnt; pbDB.Value = 0; pbDB.Step = 1; PutLog(string.Format("Начинаем проверку {0} баз из {1} доступных", cnt, i)); i = 0; //string[] itms = new string[cnt]; foreach (ToolStripMenuItem it in dbTSMI.DropDownItems) { if (it.Checked) { ++i; lCurrentDB.Text = string.Format("{0}. {1}", (i), it.Text); pbDB.PerformStep(); PutLog(string.Format("{0}. {1}", (i), it.Text)); PutLog(string.Format("Строчка соединения {0}", it.ToolTipText)); lCurrentDB.Update(); pbDB.Update(); bool dobackup = true; try { using (FbConnection fc = new FbConnection(it.ToolTipText)) { fc.Open(); FbCommand fcmd = new FbCommand(Properties.Resources.FBMonCnt, fc); int MonCnt = (int)fcmd.ExecuteScalar(); if (MonCnt > 1) { dobackup = false; PutLog(string.Format("Невозможно исправить базу данных при множественных подключениях. Сейчас подключены следующие {0} пользоватеей:", MonCnt)); fcmd.CommandText = Properties.Resources.FBMon; using (FbDataReader fbdr = fcmd.ExecuteReader()) { while (fbdr.Read()) { string s1 = ""; for (int z = 0; z < fbdr.FieldCount; z++) { s1 += (string.IsNullOrEmpty(s1) ? "" : ":") + fbdr.GetValue(z).ToString(); } PutLog(s1); } } } fc.Close(); while (fc.State == ConnectionState.Open) ; } if (dobackup) { FbConnection.ClearAllPools(); FbValidation validationSvc = new FbValidation(); //FbConnectionStringBuilder fbcsb = new FbConnectionStringBuilder(); validationSvc.ConnectionString = it.ToolTipText; validationSvc.Options = FbValidationFlags.ValidateDatabase; validationSvc.ServiceOutput += new ServiceOutputEventHandler(ServiceOutput); pbWork.MarqueeAnimationSpeed = 50; validationSvc.Execute(); pbWork.MarqueeAnimationSpeed = 0; toolStripStatusLabel1.Text = it.Text + " [ПРОВЕРЕНО]"; PutLog(it.Text + " [ПРОВЕРЕНО]"); Application.DoEvents(); } } catch (Exception er) { pbWork.ForeColor = Color.Red; MessageBox.Show(er.Message, "Ошибочка вышла..."); PutLog(string.Format("Упс... ошибочка:{0}", er.Message)); pbWork.ForeColor = pbDB.ForeColor; } } } pbDB.Maximum = cnt; MainMenu.Enabled = true; pbWork.Style = ProgressBarStyle.Blocks; pbWork.MarqueeAnimationSpeed = 0; PutLog("Проверка завершена"); }
public void ValidationTest() { FbValidation validationSvc = new FbValidation(); validationSvc.ConnectionString = this.BuildServicesConnectionString(); validationSvc.Options = FbValidationFlags.ValidateDatabase; validationSvc.ServiceOutput += new ServiceOutputEventHandler(ServiceOutput); validationSvc.Execute(); }
public void ValidationTest() { FbValidation validationSvc = new FbValidation(); validationSvc.ConnectionString = BuildServicesConnectionString(FbServerType); validationSvc.Options = FbValidationFlags.ValidateDatabase; validationSvc.ServiceOutput += ServiceOutput; validationSvc.Execute(); }