pa rubah file pbd nya ke blob gimana yah ...? apakah server perlu di psang 
scrip 
juga? kan cuma copy pdb ke bob jika ada update tan baru..? baru di client cek 
ke 
table tersebut apakah ada update baru atau tidak...? klo bisa di prinst screan 
dong pa..?ma kasih...

________________________________
Dari: Setiawan Santosa <[email protected]>
Kepada: [email protected]
Terkirim: Jum, 24 Juni, 2011 22:47:30
Judul: Re: [indopb] jalankan aplikasi pb 11 exe di jaringan agar lebih cepat

  
 
boleh sy tambahkan sedikit.
 
keuntungan update dengan blob adalah, client tidak  perlu mapping drive ke 
server, cukup dengan ip saja.
tehnik dasarnya untuk otomatis update file  diclient adalah sbb :
 
untuk server :
1. selain database utama, dibuat 1 database lagi  untuk penampung khusus file 
pbd terbaru, cukup 1 table saja
2. field table nya kira2 seperti ini : "string  namafile1", "blob file1", 
"string namafile2", "blob file2",  "integer  lastversion" ( tergantung brp 
banyak pbd )
3. jika ada update program,  kita masukkan pbd terbaru ke table diatas. dengan 
menggunakan script,  rubah file pbd menjadi blob, agar bisa masuk ke database
4. naikkan nilai "lastversion" setiap ada  update baru.
 
untuk client
1. di open event, connect ke database pbd,  cek nilai "lastversion"
2. jika "lastversion" server > "lastversion"  client, maka ambil + convert blob 
nya, dengan menggunakan script ( otomatis  replace file di pc client )
3. naikkan nilai "lastversion" di  client ( agar sama dengan server )
 
contoh script di client sbb ( dengan db sql  anywhere ) :
 
////////////////////////BEGIN  DOWNLOAD
transaction lt_app
lt_app = create transaction
// Profile  blob2file
//.......
connect using lt_app ;
lb_ok  =  TRUE ; lb_in = FALSE
if lt_app.sqlcode = 0 then
 li_ver =  profileint("main.ini","main","ver",0)
 select versi into :li_app from  main using lt_app ;
 IF li_ver <> li_app then  /// versi  beda, download it, versi sama, skip to 
main  program
  open(w_wait3) // beri window warning,  karena prosesnya agak lama jika file  
besar...
  yield() 
  declare app cursor for 
  select namafile from prg using lt_app ;
  open app  ;
  fetch app into :ls_nm ;
  DO while lt_app.sqlcode  = 0
   yield()
   lb_in =  TRUE
   setnull(ablb_blob) ;  setnull(lblb_temp)
  
   selectblob object into  :ablb_blob from prg where namafile = :ls_nm using 
lt_app  ;
   f_err("")
  
   ll_FileLength  = Len(ablb_blob)
  
   IF ll_FileLength >  32765 THEN
    IF Mod(ll_FileLength, 32765) = 0  THEN
     li_Loops = ll_FileLength /  32765
    ELSE
     li_Loops  = (ll_FileLength / 32765) + 1
    END  IF
   ELSE
    li_Loops =  1
   END IF
    
   li_FileNum = FileOpen(ls_nm,  StreamMode!, Write!, LockReadWrite!, Replace!)
   if  li_filenum = -1 then
    /// some  error
    lb_ok = FALSE
   end  if
   FOR li_Index = 1 TO  li_Loops
    lblb_Temp = BlobMid(ablb_blob, ((32765 *  li_Index) - 32765 + 1), 32765)
    li_err =  FileWrite(li_FileNum, lblb_Temp)
    if  li_err = -1  then
     //// some  error
     lb_ok =  FALSE
    end  if
   NEXT
  
   li_err =  FileClose(li_FileNum)
   if li_err = -1  then
    lb_ok = FALSE
   end  if
   fetch app into :ls_nm   ;
  LOOP
  close app  ;
  
  if lb_ok and lb_in  then
   SetProfileString("MAIN.INI","main", "ver",  string(li_app) )
  end  if
  
  close(w_wait3)
 
 END IF
 
END IF
disconnect using lt_app  ;
destroy lt_app ;
//////////////////////////////END DOWNLOAD
 
untuk script di server, kira2 prosesnya adalah  kebalikan dari script diatas
 
rgrds
setiawan
 
 
 ----- Original Message ----- 
>From: [email protected] 
>To: [email protected] 
>Sent: Friday, June 24, 2011 11:34  AM
>Subject: Re: [indopb] jalankan aplikasi    pb 11 exe di jaringan agar lebih 
>cepat
>
>  
>Cara update client2 lwt database(blog) gimana caranya? 
>Sent from my BlackBerry® smartphone from Sinyal Bagus XL, Nyambung    
>Teruuusss...!
________________________________
 
>From: Hermawan Dephe <[email protected]> 
>Sender: [email protected] 
>Date: Fri, 24 Jun 2011 11:27:49 +0700
>To: <[email protected]>
>ReplyTo: [email protected] 
>Subject: Re: [indopb] jalankan aplikasi pb 11 exe di jaringan agar    lebih 
>cepat
>
>  
>pecah2 PBD jadi lebih kecil aja pak.. agar bisa lebih ngirit    bandwith..  
>tp kalo bagusnya sih nurut saya mending dicopy kemasing2    client2..untuk 
>updatenya bisa lewat database (blob) nantinya..
>kalo pake PB    9 ke atas kayaknya dah aman jg deh dari PBKilller.. jadi gak 
>perlu takut    dibaca scriptnya.
>
>
>NASRULLAH ARUL wrote: 
>  
>>Master2 sy mau tanya untuk pb 11.5 jika pbd nya di jalankan lewat      
>>jaringan, 
>>di client lemot banget yah, lama sekali untuk buka menu, ada      solusi agar 
>>dapat menjalankan lebih cepat...? dengan catatan tidak di      kopikan ke 
>>local2 
>>masing client.. terima kasih.

 

Kirim email ke