🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# RMOS / bir klasördeki tüm .bak dosyalarını sql in varsayılan yerine import eder RESTORE DATABASE FROM DISK

1-) C# RMOS - bir klasördeki tüm .bak dosyalarını sql in varsayılan yerine import eder RESTORE DATABASE FROM DISK

 

1- klasör seçme

 

 string SelectFolder()

        {

            using (FolderBrowserDialog fbd = new FolderBrowserDialog())

            {

                if (fbd.ShowDialog() == DialogResult.OK)

                {

                    return fbd.SelectedPath;

                }

            }

            return string.Empty;

        }

 

 

2- kullanımı

 

private void btnSqlImport_Click(object sender, EventArgs e)

        {

            string folderPath = SelectFolder();

            if (string.IsNullOrEmpty(folderPath))

            {

                Console.WriteLine("No folder was selected.");

                return;

            }

 

            foreach (string bakFile in Directory.GetFiles(folderPath, "*.bak"))

            {

                RestoreDatabase(bakFile);

            }

        }

 

 

3- yedek yükleme

 

 void RestoreDatabase(string bakFilePath)

        {

            try

            {

                string databaseName = Path.GetFileNameWithoutExtension(bakFilePath);

 

                

                 // veri tabanı ismi için split değeri Back2019_14022023 için _14 split girebilirsin

                 // bu sayede veri tabanı ismi Back2019 olur

                string split = txtSplit.Text;                

                databaseName = databaseName.Split(new[] { split }, StringSplitOptions.None)[0];

 

 

 

                string sqlRestore = $@"

                RESTORE DATABASE {databaseName}

                FROM DISK = '{bakFilePath}'

                WITH REPLACE";

 

                //string sqlRestore = $@"DROP DATABASE "+databaseName;

 

                dbtoolsAcentex.MySetQuery(sqlRestore);

 

 

            }

            catch (Exception ex)

            {

                Console.WriteLine($"Error restoring {bakFilePath}: {ex.Message}");

            }

        }

 

 2023 Ekim 25 Çarşamba
 208