Cevap Geçmişi
«« Soruya geri dön
25.12.16 18:30
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);
Ekleyen: cevapsitesi
Değiştiren: cevapsitesi
Cevap olarak seçen: canora
25.12.16 15:30
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);
}
Ekleyen: cevapsitesi
En fazla 3 eski durum gösterilir.