Chúng tôi là một nhóm các nhà phát triển cơ sở dữ liệu SQL Server. Khách hàng của chúng tôi là một túi hỗn hợp của C#/ASP.NET, C# và dịch vụ web Java, dịch vụ Java/Unix và một số Excel.Xử lý lỗi SQL Server: ngoại lệ và hợp đồng cơ sở dữ liệu-khách hàng
Các nhà phát triển ứng dụng khách của chúng tôi chỉ sử dụng các thủ tục được lưu trữ mà chúng tôi cung cấp và chúng tôi hy vọng rằng (ở những nơi hợp lý) họ coi chúng như các phương pháp dịch vụ web.
Một số nhà phát triển ứng dụng khách của chúng tôi không thích ngoại lệ SQL. Họ hiểu họ bằng ngôn ngữ của họ nhưng họ không đánh giá cao rằng SQL bị hạn chế trong cách chúng ta có thể giao tiếp các vấn đề.
Tôi không chỉ có nghĩa là các lỗi SQL, chẳng hạn như cố chèn "bob" vào cột int. Tôi cũng có nghĩa là trường hợp ngoại lệ như nói với họ rằng giá trị tham chiếu sai hoặc dữ liệu đó đã thay đổi hoặc họ không thể làm điều này vì tổng hợp của ông không bằng 0.
Họ không thực sự có bất kỳ giải pháp thay thế cụ thể nào: họ đã đề cập rằng chúng ta nên xuất các thông số, nhưng chúng tôi giả định một ngoại lệ có nghĩa là "quá trình xử lý bị ngừng/quay lại.
Mọi người ở đây xử lý hợp đồng cơ sở dữ liệu-khách hàng như thế nào? Nói chung hoặc nơi có sự tách biệt giữa các mã DB và các mã con khách.
Chỉnh sửa:
- chúng tôi sử dụng SQL Server 2005 try/catch độc quyền
- chúng ta đăng nhập tất cả các lỗi sau khi rollback đến một bảng ngoại lệ đã
- chúng tôi lo ngại rằng một số khách hàng của chúng tôi giành chiến thắng' t kiểm tra đầu ra paramaters và giả định tất cả mọi thứ là OK. Chúng tôi cần lỗi được gắn cờ để được hỗ trợ xem xét.
- mọi thứ đều là ngoại lệ ... khách hàng được mong đợi thực hiện phân tích cú pháp thư để tách thông tin và lỗi. Để tách biệt các ngoại lệ của chúng tôi khỏi công cụ DB và các lỗi gọi, chúng phải sử dụng số lỗi (tất cả chúng tôi là 50.000)
"chúng tôi lo ngại rằng một số khách hàng của chúng tôi sẽ không kiểm tra thông số đầu ra và giả định mọi thứ đều ổn. Chúng tôi cần lỗi được gắn cờ để được hỗ trợ xem xét". Tôi không thể nghĩ ra một cách để làm điều này trong T-SQL ngoài việc gửi một e-mail! –
Các thói quen khách hàng gửi email cho bất kỳ ngoại lệ (chúng tôi hoặc họ) ... xây dựng doanh nghiệp của chúng tôi không cho phép email từ máy chủ SQL bằng bất kỳ phương tiện ... – gbn