Apa itu Transformasi Kontrol Transaksi?
Kontrol Transaksi adalah transformasi aktif dan terhubung yang memungkinkan kita untuk melakukan atau mengembalikan transaksi selama pelaksanaan pemetaan. Operasi komit dan rollback sangat penting karena menjamin ketersediaan data.
Saat memproses data dalam jumlah besar, mungkin ada situasi ketika memasukkan data ke target. Jika komit dilakukan terlalu sering, maka itu akan menjadi overhead sistem. Jika komit dilakukan terlambat maka dalam kasus kegagalan ada kemungkinan kehilangan data.
Jadi untuk memberikan fleksibilitas, transformasi kontrol transaksi disediakan.
TCL COMMIT & Perintah ROLLBACK
Ada lima variabel built-in yang tersedia dalam transformasi ini untuk menangani operasi.
TC_CONTINUE_TRANSACTIONDalam tc_continue_transaction tidak ada operasi yang dilakukan, proses pemuatan data berlanjut seperti apa adanya.
TC_COMMIT_BEFOREDi tc_commit_before ketika flag ini ditemukan, komit dilakukan sebelum pemrosesan baris saat ini.
TC_COMMIT_AFTERDalam tc_commit_setelah baris saat ini diproses kemudian komit dilakukan.
TC_ROLLBACK_BEFOREDi tc_rollback_before, rollback dilakukan terlebih dahulu kemudian data diproses untuk ditulis.
TC_ROLLBACK_AFTERDi tc_rollback_after data diproses kemudian rollback dilakukan.
Contoh:
Dalam contoh ini, kita akan mengkomit data ke target ketika kondisi dept no = 20 ditemukan benar
Langkah 1 - Buat pemetaan dengan EMP sebagai sumber dan EMP_TARGET sebagai target
Langkah 2 - Buat transformasi baru menggunakan menu transformasi, lalu
- Pilih kontrol transaksi sebagai transformasi baru
- Masukkan nama transformasi "tc_commit_dept20"
- Pilih opsi buat
Langkah 3 - Transformasi kontrol transaksi akan dibuat, pilih tombol selesai
Langkah 4 - Seret dan lepas semua kolom dari kualifikasi sumber ke transformasi kontrol transaksi lalu tautkan semua kolom dari transformasi kontrol transaksi ke tabel target
Langkah 5 - Klik dua kali pada transformasi kontrol transaksi dan kemudian di jendela edit properti
- Pilih tab properti
- Klik ikon editor kontrol transaksi
Langkah 6 -di editor ekspresi masukkan ekspresi -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" dan pilih OK
Artinya jika deptno 20 ditemukan maka lakukan transaksi sesuai target, jika tidak lanjutkan proses saat ini.
Langkah 7 - Pilih OK di jendela sebelumnya
Sekarang simpan pemetaan dan jalankan setelah membuat sesi dan alur kerja. Pemetaan ini akan memasukkan data ke target setiap kali departemen nomor 20 ditemukan dalam data.