Skip to main content

AccessTr.neT


Veritabanı yedekleme

Veritabanı yedekleme

Çözüldü #1

Dim sor As Integer
sor = MsgBox("Veritabanınızın Yedeği Alınsınmı??", vbYesNo)
If sor = vbYes Then
Dim zaman As New Date 'burada zaman değişkenimizi atadık
Dim uzanti As String 'burada ise uzantısını atadık "Kayıt.mdb" gibi
zaman = DateTime.Today 'zaman isimli değişkenimize "today" ile bugünün tarihini verdik
uzanti = (".mdb") 'uzanti isimli değişkenimizde ise Uzantımızı
Select Case File.Exists("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tablolar.mdb" & (zaman) & (uzanti))
'bakınız bu bölümde aynı tarih isimli dosya var mı ona bakıyoruz.
Case True
MsgBox("Bugün Zaten yedek Alınmış", MsgBoxStyle.Information, "Dikkat !")
'eğer aynı gün aldığımız yedek varsa yedeği tanıdı ve uyarı verdi
Case False
'bu bölümde ise eğer aynı gün yedek yoksa dosyayı kopyalayacak.
FileCopy("tablolar.mdb", (Application.StartupPath & "\tablolar ") & Path.GetFileName(zaman) & uzanti)
'buradaki "zaman" ve "uzanti" değişkenlerine dikkat edin zaman dosya adını değiştirdi.
'uzantı ise dosya uzantımızı atadı.
MsgBox("Veritabanı Yedekleme İşlemi Tamamlanmıştır... Veritabanınız Projenizin İçindedir", MsgBoxStyle.Information, "drmkayıt yedekleme işlemi")
'işlem bitti ve dosyamız ydeklendi mesajını aldık.
Case Else
MsgBox("İşlemi tekrar deneyiniz.", MsgBoxStyle.Information, Me.Text)
End Select
Application.ExitThread()
End If
If sor = vbNo Then
Application.ExitThread()
End If

Bu kod ile form kapanışında "tablolar.mdb" isimli veritabanımın yedeğini programımın klasörüne alıyorum.
Benim istediğim yedeğin zip veya rar olarak ziplenerek veya rarlanarak alınması.

Teşekkürler...
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #2
Konunun cevabı aşağıdaki linkte verilmiştir.Konu 2 kez açılmıştır.

Veritabanı Yedekleme
OĞULCAN & OLCAYTUĞ

Oğulcan Excel Web Sitesi
Excel İle Programlama
Cevapla
Çözüldü #3

Dim sor As Integer
sor = MsgBox("Veritabanınızın Sıkıştırılarak Yedeği Alınsınmı??", vbYesNo)
If sor = vbYes Then
MsgBox("Yedeğiniz __C:\Veritabanı_Yedek_Klasörü__İçerisindedir")
Application.ExitThread()

Dim zippath As String = IO.Path.Combine("C:\Veritabanı_Yedek_Klasörü.zip")
Dim zip As ZipPackage = ZipPackage.Open(zippath, IO.FileMode.Create, IO.FileAccess.ReadWrite)
Dim part As PackagePart = zip.CreatePart(New Uri("/tablolar.mdb", UriKind.Relative), _
Net.Mime.MediaTypeNames.Application.Zip, CompressionOption.Normal)
Dim bytes() As Byte = My.Computer.FileSystem.ReadAllBytes(Application.StartupPath & "\tablolar.mdb")
part.GetStream.Write(bytes, 0, bytes.Length)
zip.Close()
End If
If sor = vbNo Then
MsgBox("Yedeğiniz Alınmamıştır Bu Sizin Yararınıza Olmayabilir !!!")
Application.ExitThread()
End If

ICSharpCode.SharpZipLib.dll kullanarak sorunu böyle çözdüm
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task