Thursday, March 22, 2018

Backup - Restore Database SQL Server Dengan Delphi

Menjawab pertanyaan beberapa teman yang ingin melakukan backup ataupun restore database Sql Server, berikut ada satu buah contoh kecil yang dulu pernah saya buat bersama teman saya "Yafie Kiwul", mudah-mudahan bisa bermanfaat bagi teman-teman delphier .
Langsung ketopik buatlah sebuah form kecil seperti gambar berikut :



kemudian letakkan beberapa komponen yang diperlukan seperti :
- TAdoCommand              ganti name menjadi AdoCom
-TOpenDialog
-TSaveDialog
-TEdit                              ganti menjadi name backedit  ( untuk komponen dimenu backup)
-TEdit                              ganti menjadi name edrestore ( untuk komponen dimenu backup)

Untuk TAdoCommand silahkan isi diconnectionstringnya seperti berikut:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=ARJUNA-PC\SQLEXPRESS

Pastikan untuk Initial Catalog mengacu ke master , serta data source disesuaikan dengan komputer masing dalam hal ini penulis mencoba dengan menggunakan Sql server Express 2005 , dan untuk versi dibawahnya penulis sudah mencoba dapat berjalan dengan baik.
selanjuytnya silahkan set property untuk TOpenDialog untuk kolom filter sesuai dengan yang teman-teman inginkan misalnya
Filter = data Backup|*.bak|All Files|*.*
Default = bak

dan untuk TSaveDialog silahkan ubah propertynya
Filter = data Backup|*.bak|All Files|*.*
Default = bak
InitialDir =C:\MyDocument

- di even formcreate ketikkan kode berikut :
  procedure TFutama.FormCreate(Sender: TObject);
  var d,m,y : word; str : String;
  begin
        DecodeDate(now,y,m,d);
        str := inttostr(d)+inttostr(m)+inttostr(y);
        backedit.Text := 'F:\NamaDatabase'+str+'.bak';
  end;

- untuk tombol Browse (di Tab Backup) ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton9Click(Sender: TObject);
  begin
         if savedata.Execute then
         begin
              backedit.Text := savedata.FileName;
        end;
  end;

- untuk tombol Browse (di Tab Restore) ketikkan kode seperti berikut :
   if opendata.Execute then
   begin
           edrestore.Text := opendata.FileName;
   end;


- selanjutnya dalam di tombol Backup tambahkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
              try
                    DeleteFile(trim(backedit.text));
              except
             end;
             try
                      CommandText := '';
                      CommandText := 'sp_dropdevice ''dataku''';
                      Execute;
            except
            end;
            CommandText := '';
            CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
            Execute;
            CommandText := '';
            CommandText := 'BACKUP DATABASE NAMA_DATABASE To dataku';
            Execute;
            CommandText := '';
            CommandText := 'sp_dropdevice dataku';
            execute;
   end;
   showmessage('Backup telah selesai!');
end;

- Sedangkan untuk proses restore ditombol restore silahkan ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
               try
                      DeleteFile(trim(backedit.text));
              except
        end;
        try
                   CommandText := '';
                   CommandText := 'sp_dropdevice ''dataku''';
                   Execute;
       except
       end;
       CommandText := '';
       CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
       Execute;
       CommandText := '';
       CommandText := 'BACKUP DATABASE NAMADATABASE To dataku';
       Execute;
       CommandText := '';
       CommandText := 'sp_dropdevice dataku';
       execute;
   end;
   showmessage('Backup telah selesai!');
end;

mudah-mudah an contoh aplikasi kecil ini dapat menjadi salah satu referensi para delphier.

No comments:

Post a Comment