Exemple #1
0
		public void SweepTest()
		{
			FbValidation validationSvc = new FbValidation();

			validationSvc.ConnectionString = this.BuildServicesConnectionString();
			validationSvc.Options = FbValidationFlags.SweepDatabase;

			validationSvc.ServiceOutput += ServiceOutput;

			validationSvc.Execute();
		}
Exemple #2
0
        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();
		}