Tuesday, June 2, 2015

VB Net : Setting CommandTimeOut

Mungkin pembaca pernah dapat pesan "Query TimeOut Expired" saat menjalankan sebuah SQL query/syntak, biasanya terjadi saat melakukan proses CRUD yang berat, seperti saat menampilkan report dalam jangka waktu yang lama (report bulanan dengan jutaan record misalnya) hingga database pun mesti bekerja keras :D 

Nah....kali ini penulis akan mencoba sedikit menjelaskan tentang Command Timeout :D

Query Command TimeOut merupakan batas waktu sebuah variable command dalam proses CRUD ke database/server. default nya CommandTimeOut hanya selama 30 detik.

Sample :
Saat kita melakukan pencarian all item yang ada di table Ms_Item dengan query berikut :
Dim cmd As New SqlCommand("select * from ms_item", con)
Dengan source diatas, Jika dalam waktu 30 detik proses execute belum selesai maka biasanya akan muncul pesan error "Query TimeOut Expired"...Kalau tidak salah.

Lalu bagaimana cara mengatasinya? kita dapat menambahkan batas waktu CommandTimeOut dengan cara berikut :
Dim cmd As New SqlCommand("select * from ms_item", con)
cmd.CommandTimeout = 60
Dengan Source diatas, Batas waktu dalam melakukan proses execute telah ditambahkan menjadi 60 detik, jika lebih dari 60 detik belum selesai maka biasanya akan muncul pesan error tersebut.

Selain itu, kita juga bisa membuat CommandTimeOut tanpa batas waktu alias unlimited :D dengan cara mengganti nilai COMMAND TIMEOUT menjadi bernilai 0 (Nol), seperti source dibawah ini :
Dim cmd As New SqlCommand("select * from ms_item", con)
cmd.CommandTimeout = 0
Nah...mengganti COMMAND TIMEOUT menjadi 0 mungkin bisa jadi solusi untuk mengatasi masalah pada SQL query yang memiliki kompleksitas tinggi dengan data hingga jutaan record :D

0 comments:

Post a Comment

Terima kasih sudah berkomentar

Coretan © 2008.
Hanya blog sederhana, sebagai bahan contekan dikala sedang belajar membuat project