Cara Mengatasi Error [RESOLVED] : Timeout expired.The timeout period elapsed prior to completion of the operation or the server is not responding.
Mungkin diantara teman teman pernah mengalami error seperti judul posting saya diatas. yaitu :
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Error ini terjadi karena batas waktu eksekusi command/perintah sql melebihi waktu yang telah ditentukan pada property CommandTimeOut. Biasanya ini terjadi saat anda mengeksekusi perintah SQL Query yang kompleks (besar/rumit/banyak data/inner join tabel). Contoh :
1.Select * from detail_trans order by bukti desc
jika table detail_trans memiliki data/row > 1.000.000 maka biasanya akan terjadi error timeout
2.Kondisi jaringan
Jika kondisi jaringan ke server baik itu LAN maupun Wireless sedang sibuk (busy) baik itu karena aktifitas jaringan lain (print, copy paste share file) maupun multi akses (ada yang tarik report, ada yang input transaksi, dan lain lain) sehingga kondisi jaringan sangat padat, maka error timeout pun biasanya akan terjadi.
So, bagaimana cara mengatasi masalah ini ???
1. Pintar pintar dalam mengolah sql query
Contoh : jangan selalu SELECT * FROM ..., misalkan jika anda hanya ingin mengambil nobukti atau tanggal saja maka cukup SELECT BUKTI, TANGGAL FROM ... ini akan lebih meringankan proses eksekusi sql query.
2.Set property CommandTimeOut pada variable SqlCommand / OledbCommand / OdbcCommand
Secara default CommandTimeOut berisi/bernilai = 30. Tigapuluh ini adalah dalam satuan Detik (Second), jadi jika eksekusi sql query lamanya melebihi 30 detik maka akan terjadi error TimeOut. Solusi sederhana nya adalah menambah CommandTimeOut nya, misalah menjadi 1 menit (60 detik), atau 3 menit (60 * 3 = 180) dan seterusnya. Tapi masalahnya bagaimana kita bisa tahu berapa lama eksekusi sebuah sql query ??? jadi cara terakhirnya adalah mengeset CommandTimeOut manjadi Unlimited, caranya dengan mengeset CommandTimeOut menjadi 0 (nol = unlimited)
Contoh : jika anda menggunakan SqlClient :
Using cmd as new SqlCommand
cmd.Connection = con
cmd.CommandText = "SELECT * FROM DETAIL_TRANS ORDER BY BUKTI DESC"
cmd.CommandTimeout = 0
cmd.CommandText = "SELECT * FROM DETAIL_TRANS ORDER BY BUKTI DESC"
cmd.CommandTimeout = 0
Using dreader as SqlDatareader = cmd.ExecuteReader
'... sintak anda
End Using
End Using
Tags:
fix error Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding., tips dan trik mengatasi error Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding., vbnet error Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.solution of Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Posting Komentar untuk "Cara Mengatasi Error [RESOLVED] : Timeout expired.The timeout period elapsed prior to completion of the operation or the server is not responding."