Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Yazılım Soruları

0

Belirli aralıklar ile veritabanı yedeği alınabilir mi?

merhaba,

projemde  buton ile veri tabanının yedeğini alıyorum.
		string a = DateTime.Now.ToShortDateString() + "_" + DateTime.Now.Minute.ToString(); 
                string klasorYeri = "C:\\Yedek";
                string klasorolustur = klasorYeri + @"\" ; 
                Directory.CreateDirectory(klasorolustur);
                System.IO.File.Copy("Veriler.accdb", klasorYeri + @"\" + a + "-Veriler" + ".accdb"); 
                MessageBox.Show("Veritabanı " + klasorYeri + " klasörüne kaydedilmiştir", "Dikkat",
                  MessageBoxButtons.OK, MessageBoxIcon.Information);

butondaki bu işlevin, mesela 5 günde bir gerçekleştirilmesini istiyorum.

nasıl yapılabilir? 

1 Cevap

0
Bu işi aslında bir veritabanı hizmet programı (SQL Server gibi) kullanıyorsan ona yaptırmak gerekir. Veya başka bir yol, küçük bir program yazıp web servisi olarak ya da zamanlanmış görev olarak çalıştırabilirsin.

Bunların haricinde programın açılışında, veritabanını açmadan önce Yedek klasöründeki *.accdb dosyalarının tarihlerini kontrol edip, hiç yedek yoksa veya son 5 gün içinde alınan yedek yoksa yedek alan şöyle bir şey yapabilirsin.

string yedekKlasoru = "C:\\Yedek";
System.IO.Directory.CreateDirectory(yedekKlasoru); // Klasör yoksa oluşturur, varsa bir şey yapmaz.
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(yedekKlasoru);
System.IO.FileInfo[] fis = di.GetFiles("*.accdb");
if (fis.Length == 0 || (DateTime.Now - fis.Max(d => d.CreationTime)).TotalDays >= 5)
    System.IO.File.Copy("Veriler.accdb", System.IO.Path.Combine(yedekKlasoru, DateTime.Now.ToString("yyyyMMdd_hhmm_") + "Veriler.accdb"), true);





Cevaplayan: 25.12.16 15:30
cevapsitesi
102,034p 16ü
Cevabı seçen: 16.01.17 03:46
canora
101,387p 4ü
çok teşekkür ederim. →  hakandogan 25.12.16 18:12