Hello Erik,

EH> saya mau membuat aplikasi database, misalnya ada 3 komputer
EH> (A,B, dan C). komputer A dan B adalah client, sedangkan komputer C
EH> dipakai database server. Client A menampilkan data report yang
EH> diambil dari database server (Komputer C),misalnya ada 10 record,
EH> Client B berisi aplikasi input data. 

EH> jika diinputkan suatu data dari Client B maka akan di save ke
EH> database server (Komp. C). bagaimana caranya report pada Client A
EH> datanya dapat berubah secara otomatis (menjadi 11 record), TANPA
EH> user menyentuh komputer A tersebut?????????????????????

EH> saya telah mencoba menggunakan thread yang akan merefresh
EH> report tersebut (Client A) secara terus menerus setelah kurun
EH> waktu tertentu. tapi teknik tersebut kurang bagus, apa ada yang
EH> punya ide yang lebih ok....???

Bila memang databasenya memiliki feature untuk mentrigger event,
mungkin bisa dimanfaatkan. Interbase dan firebird memiliki hal tsb,
sehingga kita bisa membuat trigger pada table tertentu, kemudian dalam
trigger tersebut akan menyalakan event, dimaka event tsb akan
dibroadcast ke semua client yang terkoneksi ke server tsb.
Implementasi detail saya tidak tahu karena saya sendiri tidak pernah
menggunakannya. Untuk database yang lain saya kurang tahu.

Cara lain adalah dengan metode pooling seperti yang sudah kamu
lakukan. Mungkin bisa dioptimize sedikit supaya Client A tidak perlu
merefresh report secara periodik. Buat sebuah table yang berisi
informasi tgl+jam terakhir sebuah table diupdate (Untuk selanjutnya saya
akan sebut table ini sebagai LastUpdateInfo). Table LastUpdateInfo ini
cukup berisi 2 field : NamaTable dan LastUpdate(DateTime). Lalu buatlah trigger di
table yang akan dimonitor, supaya setiap kali terjadi perubahan maka
akan mengupdate field LastUpdate di table LastUpdateInfo.
Jika databasenya tidak support trigger, berarti aplikasi di CLient
B-lah yang bertanggung jawab untuk mengupdate LastUpdateInfo tsb.

Nah client A secara periodik mencek isi dari LastUpdateInfo tsb. Bila
LastUpdate ternyata lebih baru daripada tgl dan jam terakhir client A
melakukan refresh, maka client A perlu melakukan refresh ulang.

salam

Jonathan L.


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke