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