Hiển thị kết quả từ 1 đến 6 / 6
  1. #1
    Tham gia
    15-01-2009
    Location
    tp Hồ CHí Minh
    Bài viết
    224
    Like
    2
    Thanked 8 Times in 8 Posts

    lỗi connection time out

    Mình có một website connect đến SQL 2005 nhưng nó thường xuyên báo lỗi như vầy

    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.

    bạn nào có cách nào để fix nó lại thì hướng dẫn lại cho mình với

    Thanks
    Quote Quote

  2. #2
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi dxt49 View Post
    Mình có một website connect đến SQL 2005 nhưng nó thường xuyên báo lỗi như vầy

    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.

    bạn nào có cách nào để fix nó lại thì hướng dẫn lại cho mình với

    Thanks
    Kakaka. Tặng tôi một vé tour loại vip đi (phải có vé cho nguòi yêu dấu nữa là hai vé), thì tôi...tư vấn cho. Coi như mình ...đổi quà. Chứ bạn làm bí-sì-nét mà không bỏ tiền ra mướn dân chuyên nghiệp, lại vào đây tìm tư vấn không công thì hẹp hòi cho anh em quá.

    Cái lỗi này có thể bị trên nhiều điều kiện. Thế Windows event log và SQL log có warning hay error gì không? SQL 2005 của bạn có thể có được bao nhiêu connections?

    Chuyện đầu tiên muốn thử là hãy tăng cái connection timeout từ 30 (default) lên 300 thử coi...

  3. #3
    Tham gia
    15-01-2009
    Location
    tp Hồ CHí Minh
    Bài viết
    224
    Like
    2
    Thanked 8 Times in 8 Posts
    mình làm bên lập trình chứ ko phải kinh doanh đâu bạn. Với lại mình ko được quyền xem event log vì server đặt bên fpt cơ. Bạn có thể nói cho mình biết là làm sao biết được sql 2005 có đc bao nhiu connection ko? mình cấu hình cái này được ko?
    thanks

  4. #4
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Chứ không phải đây là ...family bí-sì-nét sao?

    Có ba cách:

    Một là vào SQL MGMT, right click vào cái Server Name, click properities, higtlight cái "Connections". Maximum number of concurrent connections = 0 là không giới hạn.
    Trong cái panel này, kiểm tra luôn cái Remote query timeout.

    Cách thứ hai là dùng sp_configure stored procedure để truy vấn những cài đặt của server/database configuration. Nếu bạn chạy sp_configure mà không đưa cho nó một tham biến từ nào, thì nó sẽ hiển thị những cài đặt của configuration settings. Bạn vào SQL manual để tham khảo thêm về sp_configure. Dùng sp_configure có thể thay đổi được giá trị của từng setting, với điều kiện bạn có mật hàm của Administrator

    Cách thứ ba là truy vấn svr global value, như sau:

    SELECT @@MAX_Connections


    Nếu server nằm bên fpt, thì chắc chắn là bạn phải dùng VPN để connect rồi phải không? Nếu đúng vậy thì 90% là tại vì connection timeout có 30 seconds, mà bạn thì cần nhiều thời gian hơn để connect. Set cái connection timeout ở connection string có thể giúp. Tham khảo thêm về connection string để biết cách set timeout.

  5. #5
    Tham gia
    15-01-2009
    Location
    tp Hồ CHí Minh
    Bài viết
    224
    Like
    2
    Thanked 8 Times in 8 Posts
    để mình thử xem sao đã. Thanks nhiều nha.

  6. #6
    Tham gia
    09-11-2008
    Bài viết
    49
    Like
    1
    Thanked 7 Times in 6 Posts
    dear dxt49
    cái time out này theo kinh nghiệm của mình thì có 3 trường hợp xay ra,
    TH1: như bác dq_ninh đã nói, đó là thời gian sqlServer cho phép 1 query thực hiện, nếu đang là 30 ( tức là 30 giây) thì bạn hãy set nó về 0 (ko giới hạn, hơi nguy hiểm tí ) hoặc cao một chút.
    TH2: Time out của sqlcomman1.timeout, cái này nó cũng có giá trị mắc định bằng 30 thì phải. bạn cũng set được.
    TH3: bạn sẽ gặp phải khi dùng một lớp kết nối CSDL được viết sẵn, vd : sqlHelper chẳng hạn, những lớp này giúp ta đóng mở kết nối luôn, nên khi bạn dùng vòng lặp để thực thi câu lệnh sql ( hoặc SP) sẽ dẫn tới đóng mở kết nối quá nhiều và liên tục. Không biết lúc đó SQL sever làm gì nhưng nó cũng thông báo time out ( bác nào biết xin chỉ giáo). cách khắc phục chỉ đơn giản là bạn hãy mở 1 kết nối, dùng tẹt rồi đóng nó lại là ok.
    GL

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •