Kettle: Spoon Job Error – Running Old Transformation Design


Baru saja dapet case yang menarik dengan Spoon – nya Kettle nih. Permasalahannya sih sederhana, saya mencoba membuat beberapa design transformasi, lalu digabungkan ke dalam satu job, ternyata dalam design tersebut terdapat kesalahan dan harus diperbaiki. Setelah diperbaiki lalu di save kemudian saya coba running job tersebut, tetapi kenapa design yang di running adalah design yang lama bukan yang baru?

Sebagai ilustrasi, silahkan anda perhatikan design job yang sudah saya buat:

Job Design

Job Design

Jadi saya membuat 3 buah design transformation yang akan dijalankan sekaligus melalui satu job. Jika saya running melalui job, terjadi error. Tapi jika dijalankan secara terpisah tiap transformation, hasilnya sukses. Why??

Panik dan bingung.. Kenapa ya kira-kira hal ini bisa terjadi? Apa karena saya salah men-save filenya? Saya coba buka lagi design transformasi yang sudah saya buat, loh kok design-nya sudah benar? Saya coba jalankan kembali job yang tadi, tetapi errornya masih tetap sama. Lalu saya coba jalankan transformasi-nya secara terpisah (diluar job) ternyata hasilnya benar. Lalu dibagian mananya yang error?

Ternyata kesalahan ini terjadi karena terjadi kesalahan target saat menjalankan Job. Untuk lebih jelasnya bisa anda lihat pada gambar di bawah. Seperti dapat dilihat pada form di bawah, terlihat bahwa transformasi yang akan dijalankan adalah Transformasi 1, tetapi sumber design yang akan dijalankan berasal dari file.ktr atau file save-an dari local komputer, bukan dari repository database yang sudah saya buat.

Job Transformation Detail

Job Transformation Detail

Solusi dari permasalahan seperti ini adalah merubah target design yang akan dijalankan, yaitu dengan cara mengosongkan saja field Transformation Filename, atau bisa juga dengan cara meng-eksport ulang transformasi yang telah di re-design menjadi file .ktr, lalu edit agar job menargetkan transformasinya ke file .ktr yang baru.

Demikian penjelasan dari saya semoga bermanfaat.

Advertisement

Spoon Quick Start


Langsung to the point saja. Di artikel ini akan saya berikan contoh bagaimana cara cepat dan mudah menggunakan Spoon. IMHO inti dari penggunaan spoon mungkin bisa dikatakan sama dengan fasilitas DTS pasa MS.SQL Server.

Contoh Kasus:

Saya ingin mentransfer data sebuah table dari Database MS.SQL Server 2000 ke Database IBM AS400. Data database yang digunakan sebagai berikut:

MS SQL 2000 IBM AS400
Server 192.168.1.20 192.168.1.50
Database Asal Tujuan
PORT 1433 (default-nya MS SQL 2000)
Username andreas andreas
Password tjong tjong

Lalu misalkan table yang ingin ditransfer adalah table CodeMaster, kira2 design nya seperti ini:

CodeMaster
Currency
Code
Name

Lalu ingin ditransfer ke database Tujuan dengan design table dengan asumsi field type and field length nya sama antara database awal dan tujuan:

CDMSTR
CRC
CODE
NAME

Langsung saja kita jalankan kettle dengan mengklik spoon.bat jika anda windows user atau spoon.sh jika anda UNIX user. Jika sudah masuk lalu ada tampilan untuk memasukkan ID atau Password untuk repository, silahkan pilih No repository. Mengenai apa itu repository dan apa kegunaannya, akan saya coba jelaskan pada artikel saya yang lainnya.

Setelah sudah masuk ke Halaman utama Kettle, klik New — Transformation. Lalu buatlah design seperti gambar di bawah ini. Caranya dengan mengklik Core Objects, lalu tinggal drag and drop. Object yang dibutuhkan ada 3, yaitu: Table Input, Select Values, dan Table Output.

design_awal

Klik 2 kali pada Table Input. Pada field Connection klik new. Isikan dengan data database Asal. Jika sudah selesai klik Test Connection apakah sudah success atau belum. Klik Ok. Pada bagian SQL isikan dengan Query: SELECT Currency
,Code
,Name
From CodeMaster

Klik Ok.

database_asal

table_input

Klik 2 kali pada Table Output. Pada field Connection klik new. Isikan dengan data database Tujuan, untuk bagian PORT isi saja dengan (-1). Jika sudah selesai klik Test Connection apakah sudah success atau belum. Pada Column Target Table isikan dengan CDMSTR. Sisa column yang laen biarkan saja apa adanya. Akhiri dengan klik OK.

database_tujuan

Coba hubungkan Table Input dengan Select Values dengan cara menekan Scroll pada Mouse, mulai dari Table Input, lalu lepaskan setelah kursor sampai ke Object Select Values. Coba hubungkan Select Values dengan Table Output dengan cara yang sama.

Klik 2 kali pada Select Values. Pilih Tab Meta-data, klik Get fields to change, maka column Fieldname akan terisikan dengan isi Table CodeMaster pada Database Asal. Isi column Rename sesuai dengan lawan Table CodeMaster di Table CDMSTR. Jika sudah Klik OK.

Save design yang sudah anda buat. Lalu coba jalankan (klik tombol run di atas).

Selamat anda sudah berhasil melakukan transfer data dengan menggunakan fasilitas Spoon pada Kettle.