Đưa ra: Một công cụ tính toán C# tải mô hình đối tượng, thu thập một lượng lớn các số và lưu kết quả vào một vài bảng cơ sở dữ liệu khổng lồ được lập chỉ mục khổng lồ trong SQL Server. Các bảng đó cung cấp dữ liệu cho các giao diện web, các mô đun phần mềm khác và các báo cáo SQL Server Reporting Services 2005.Làm cách nào để lấy dữ liệu không phải Bảng vào Dịch vụ Báo cáo Máy chủ SQL?
tôi quản lý để làm cho động cơ một nhiều nhanh hơn trong phiên bản mới nhất của phần mềm, đủ nhanh bây giờ mà nó có thể cung cấp dữ liệu theo yêu cầu - đôi khi thậm chí nhanh hơn so với thời gian cần thiết để truy vấn cơ sở dữ liệu cho trước số được tính toán. Tôi rất hạnh phúc về điều này.
Bước đột phá đó có nghĩa là chúng tôi có thể tạo dữ liệu theo yêu cầu cho giao diện web và các mô-đun phần mềm khác. Nhưng các bảng bộ nhớ cache không thể chết được, bởi vì chúng được tiêu thụ bởi các báo cáo SSRS (hoặc cụ thể hơn, bởi các thủ tục lưu trữ truy vấn các bảng và cung cấp dữ liệu cho SSRS.)
Các bảng bộ nhớ cache là một nỗi đau, trong nhiều cùng một cách mà bất kỳ bộ nhớ cache nào cũng là một nỗi đau trong thế giới phần mềm. Nếu không đi vào chi tiết quá nhiều, họ có vấn đề sync'ing, khóa vấn đề, vv vv Các phần mềm sẽ làm việc rất nhiều hơn nữa độc đáo nếu tôi không phải lo lắng về việc giữ những bảng darned đến nay.
Nhưng làm cách nào khác tôi có thể nhận dữ liệu vào SSRS? Tôi đã thực hiện một chút công bằng về nghiên cứu và không có gì có vẻ quá hứa hẹn:
- Chúng tôi có thể cung cấp dữ liệu qua dịch vụ web và sử dụng SSRS XML DPE. Nhưng điều đó có vẻ ghê tởm - tôi có đúng là bạn phải phân tích phong bì SOAP của mình không ?! Và nó không hỗ trợ XPath, nhưng là một phương ngữ XPath-y độc quyền? Các nhà văn báo cáo của chúng tôi biết T-SQL, và đó là những gì họ giỏi nhất.
- Sử dụng SQL CLR để lưu trữ API của chúng tôi là không mong muốn - đó là ứng dụng lớn và bạn không thể làm bất cứ điều gì mà không cần tạo đối tượng ứng dụng và đăng nhập, v.v.
- Sử dụng SQL CLR để liên hệ với dịch vụ web các ứng dụng web - đây là hứa hẹn nhất cho đến nay (bài viết này là hữu ích http://www.simple-talk.com/sql/sql-server-2005/practical-sql-server-2005-clr-assemblies/.) Có ai đã thử phương pháp này? Liệu nó có hoạt động không, nó có thể cung cấp các tập dữ liệu lớn không? OTOH Tôi bị tắt bởi các thiết lập thêm chúng tôi sẽ phải làm trên máy chủ DB khách hàng.
- Bất kỳ đề xuất nào khác sẽ được đánh giá cao.
Tôi đã thêm tiền thưởng cho bất kỳ ai có thể cung cấp cho tôi trải nghiệm/thông tin/thông số/số liệu tốt về việc có thể thực hiện điều này bằng SQLCLR/Web Services hay không. –
Xin chào, tôi có hiểu chính xác rằng các bảng bộ nhớ cache được sử dụng chủ yếu bởi SSRS, với mục đích báo cáo không? Có vẻ như báo cáo là một khía cạnh của ứng dụng/giải pháp của bạn nhưng vì khía cạnh đó, nó đang gây ra một số công việc DB khó chịu phải được thực hiện, với mục đích báo cáo? –
Đúng là Rihan. Báo cáo là một thành phần của ứng dụng và các bảng khó chịu chỉ tồn tại để cung cấp dữ liệu cho báo cáo. –