Solving MS SQL 2005: Timeout expired

MS SQL Server April 25th, 2008

ข้อความ Error:
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

หลังจากที่ทำการเปิด SQL Connection แล้วไม่มีการปิดเป็นเวลานาน
อาจเนื่องมาจาก code ที่เราสั่งให้จัดการกับ SQL มีหลายชุดคำสั่งซ้อนกันอยู่

1. ให้เราทำการ เปิด-ปิด connection บ่อยมากขึ้น หรือ
2. เพิ่มค่า timeout “CommandTimeout = 50″ (50 = 50 วินาที) หรือลองดูตาม code ตัวอย่างด้านล่าง

Public Shared Function Query(ByVal sql As string) as string
Dim Data As String = String.Empty
Dim connString as String = ConfigurationManager.AppSettings("conString")

Using conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(sql, conn)
cmd.CommandTimeout = 50;
Data = cmd.ExecuteScalar().ToString()
Catch ex As Exception
End Try
End Using

return Data
End Function


Tags: ,

Copyright © 2008 iBiz Network Co., Ltd. Powered by wordpress, Theme by ericulous