pak alvin,
saya rasa itu proses yang betul..kenapa minta yang salah?
karena insert nya memakai prosesur (which is ada di server database)
maka dapat dipastikan jaringan putus ato enggak ya perintah akan dilaksanakan...
wus..wus..wus... gitu.
beda cerita ketika insert ada di form/vb/delphi,
saya coba slow motion kan...
a. operator kirim perintah insert (1000 baris misalnya)
b. komputer kirim 100 perintah insert, OK
c. komputer kirim 200 perintah insert, OK (total 300 of 1000)
d. komputer kirim 300 perintah insert, OK (total 600 of 1000)
e. jaringan diputus, kiriman 400 perintah insert akan terblokir
(gimana mau kirim, lha wong jaringan putus).
f. database menunggu dalam sekian detik.... sisa 400 insert dan commit tidak
juga datang...
g. database menunggu lagi dalam sekian detik.... sisa 400 insert dan commit
tidak juga datang...
h. database menunggu lagi dalam sekian detik.... sisa 400 insert dan commit
tidak juga datang...
i. database memutuskan rolllback aja.
dari ilustrasi ini, maka dapat diperhatikan ketika jaringan putus, menghasilkan
perbedaan apa.
dalam kasus memakai prosedur, item no e yang akan jalan terus.
dan saya yakin, commitnya ada dalam prosedur kan????
jika tidak...hm..mm.. saya membayangkan betapa rumitnya handle session insert
dan commitnya.
semoga penjelasan panjang dan lebar ini tidak membuat bosan.
selebihnya saya minta maaf jika ada kata yg salah ya pak...
regard,
subekti
----- Original Message -----
From: Alwin Sanjaya
To: [email protected]
Sent: Tuesday, April 13, 2010 11:41 AM
Subject: [indo-oracle] Rollback ketika jaringan putus
Dear Oracle Dev,
Saya mau tanya, bagaimanakah cara untuk menangkap kondisi jaringan yang
terputus di form? sehingga pada saat saya melakukan transaksi insert table,
operasi tersebut tidak jadi dijalankan / auto rollback.
*Case : *
saya ada sebuah tombol 'Approve', yang jika saya tekan akan melakukan insert
table yang dijalankan melalui sebuah procedure di level database (procedure
berada level database, tidak di level form).
*Keadaan sekarang:*
ketika saya tekan tombol 'Approve', dan beberapa saat kemudian saya cabut
jaringannya, ternyata procedure tetap menjalankan operasinya.
*Keadaan yang diharapkan:*
ketika saya tekan tombol 'Approve', dan beberapa saat kemudian saya cabut
jaringannya, semua operasi digagalkan atau melakukan proses rollback.
Ada yang mengatakan bahwa, jika jaringan terputus, maka secara otomatis
semua operasi akan digagalkan dan auto rollback. Tetapi kasus ini tidak
demikian, apakah yang menyebabkan procedure tetap berjalan? meskipun
jaringan telah terputus.
Terima kasih teman2 atas bantuannya :)
Regards,
Alwin.S
www.oblongware.com
Kaos Oblongnya Penggemar IT
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]