Another Case for SET NOCOUNT ON

Dan Wahlin vừa gửi một tin nhắn đến một trong những danh sách trên aspadvice về một số hành vi thú vị mà ông nhận thấy trong VS 2005 – thực hiện một sproc (đối với SQL Server 2000) từ bên trong VS 2005 đã không trả lại toàn bộ bộ kết quả mà ông mong đợi. Ông có thể thực hiện sproc trong QA, và nó đã làm việc tốt. Thực hiện trong VS 2005 sẽ chỉ cho anh ta có bao nhiêu hàng nên ở đó (tức là x hàng bị ảnh hưởng), nhưng sẽ không hiển thị các hàng.

Ngạc nhiên, tôi bắn thử nghiệm nhỏ của riêng tôi. Các sproc đầu tiên tôi kiểm tra làm việc hoàn hảo – tất cả mọi thứ trở lại như mong đợi. Sau đó, tôi lấy Sproc của Dan, sửa đổi nó một chút để lấy dữ liệu từ systables địa phương như ‘phụ’ thay vì kéo từ các bảng Dan đã được kéo từ và thử nghiệm nó. Chắc chắn – tôi thấy hành vi mà anh ấy đăng.

Nhanh chóng quét các sự khác biệt ngay lập tức cho thấy rằng tôi làm việc sproc đã làm một Set NOCOUNT ON – ông đã không. Một nhanh chóng tinh chỉnh, và tiếp theo thử nghiệm, và sproc của ông đã làm việc như mong đợi. SET NOCOUNT ON được sử dụng để nói với SQL Server rằng ít nói chuyện hơn – tức là ngừng nói với khách hàng từng bước, và thổi bởi sự thực hiện thổi của mọi dòng mã. Nó cũng có thêm lợi ích cho phép nhiều tập kết quả được trả lại cho các khách hàng có xu hướng Bail ngay khi kết quả được trả về từ máy chủ – chẳng hạn như ADO 2.x và dường như là khách hàng được sử dụng bởi VS 2005.

Please give your comments!

Your email address is confidential.

Recent Posts

Recent Comments

    Archives

    Categories

    Meta