none
Csharpta access veritabanı yedekleme RRS feed

Yanıtlar

  • Ben programın bulunduğu klasöre "Yedekleme adında bir klasör oluşturuyorum. Onun içerisine ilgili klasörü açtırıyorum ve sonrasında bulunulan ayın klasörünü oluşturuyorum. Son olarak veritabanını dosya kopyalama yöntemiyle o klasörün içine o günün tarihi ile kaydettiriyorum. Kodlarım aşağıdadır.

     DateTime zaman = DateTime.Now;
                string zaman1 = zaman.ToLongDateString();
                try
                {
                    Directory.CreateDirectory("Yedekleme/BigbagRaporu/"+zaman.Month);
                    if (File.Exists(@"Yedekleme/BigbagRaporu/"+zaman.Month+"/" + zaman1 + ".accdb")) // Yedeğin varlığını kontrol etmek(var ise)
                    {
                        DialogResult cikis = new DialogResult();
                        cikis = MessageBox.Show("Bugün Bigbag Raporunuzu Yedeklediniz, Eski Kaydın Üzerine Yazmak İster Misiniz?", "Bigbag Raporu Yedekleme", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                        if (cikis == DialogResult.Yes)
                        {
    
                            File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                            MessageBox.Show("Bigbag Raporunuzun Yeni Yedeği Alınmıştır.");
    
                        }
                        if (cikis == DialogResult.No)
                        {
                            MessageBox.Show("Bugün Bigbag Raporunuzun Yedeği Alındığı İçin, Yeni Yedeğiniz isteğiniz Doğrultusunda Alınmamıştır.");
    
                        }
    
                    }
                    else //yok ise yedek al (Kopyalama ile)
                    {
                        File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                        MessageBox.Show("Bigbag Raporunuzun Yedeği Alınmıştır.");
                    }
                }
                catch (Exception)
                {
                    File.Delete(@"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                    File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                    MessageBox.Show("Bigbag Raporunuzun Yeni Yedeği Alındı.\n -----> " + Application.StartupPath + "/Yedekleme/BigbagRaporu <----- \n Buradan Bakabilirsiniz", "Bigbag Raporu Yedekleme", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

    • Yanıt Olarak İşaretleyen Sebih Çiçek 17 Temmuz 2018 Salı 07:05
    10 Temmuz 2018 Salı 13:57
  • Kopyalama işlemi veri kaybına sebep olmaz.

    Ama kopyalamak istediğinizde, bazen "dosya kullanımda" hatası alabilirsiniz.

    Bunu da göz önünde bulundurun...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Sebih Çiçek 17 Temmuz 2018 Salı 07:05
    16 Temmuz 2018 Pazartesi 09:56

Tüm Yanıtlar

  • Ben programın bulunduğu klasöre "Yedekleme adında bir klasör oluşturuyorum. Onun içerisine ilgili klasörü açtırıyorum ve sonrasında bulunulan ayın klasörünü oluşturuyorum. Son olarak veritabanını dosya kopyalama yöntemiyle o klasörün içine o günün tarihi ile kaydettiriyorum. Kodlarım aşağıdadır.

     DateTime zaman = DateTime.Now;
                string zaman1 = zaman.ToLongDateString();
                try
                {
                    Directory.CreateDirectory("Yedekleme/BigbagRaporu/"+zaman.Month);
                    if (File.Exists(@"Yedekleme/BigbagRaporu/"+zaman.Month+"/" + zaman1 + ".accdb")) // Yedeğin varlığını kontrol etmek(var ise)
                    {
                        DialogResult cikis = new DialogResult();
                        cikis = MessageBox.Show("Bugün Bigbag Raporunuzu Yedeklediniz, Eski Kaydın Üzerine Yazmak İster Misiniz?", "Bigbag Raporu Yedekleme", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                        if (cikis == DialogResult.Yes)
                        {
    
                            File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                            MessageBox.Show("Bigbag Raporunuzun Yeni Yedeği Alınmıştır.");
    
                        }
                        if (cikis == DialogResult.No)
                        {
                            MessageBox.Show("Bugün Bigbag Raporunuzun Yedeği Alındığı İçin, Yeni Yedeğiniz isteğiniz Doğrultusunda Alınmamıştır.");
    
                        }
    
                    }
                    else //yok ise yedek al (Kopyalama ile)
                    {
                        File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                        MessageBox.Show("Bigbag Raporunuzun Yedeği Alınmıştır.");
                    }
                }
                catch (Exception)
                {
                    File.Delete(@"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                    File.Copy(@"GirilenBigbagler.accdb", @"Yedekleme/BigbagRaporu/" + zaman.Month + "/" + zaman1 + ".accdb");
                    MessageBox.Show("Bigbag Raporunuzun Yeni Yedeği Alındı.\n -----> " + Application.StartupPath + "/Yedekleme/BigbagRaporu <----- \n Buradan Bakabilirsiniz", "Bigbag Raporu Yedekleme", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

    • Yanıt Olarak İşaretleyen Sebih Çiçek 17 Temmuz 2018 Salı 07:05
    10 Temmuz 2018 Salı 13:57
  • EmirhanPirol bilmek istediğim  kopyalama işlemi yapmamız halinde veri kaybı yaşanır mı ? 

    Select Hayat From DevamEdiyor

    16 Temmuz 2018 Pazartesi 07:00
  • Kopyalama işlemi veri kaybına sebep olmaz.

    Ama kopyalamak istediğinizde, bazen "dosya kullanımda" hatası alabilirsiniz.

    Bunu da göz önünde bulundurun...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Sebih Çiçek 17 Temmuz 2018 Salı 07:05
    16 Temmuz 2018 Pazartesi 09:56