Biorąc pod uwagę: silnik obliczeniowy C#, który ładuje model obiektowy, przechwytuje ogromne ilości liczb i zapisuje wyniki w kilku gigantycznych tabelach indeksowanych w SQL Server. Te tabele udostępniają dane interfejsom WWW, innym modułom oprogramowania i raportom SQL Server Reporting Services 2005.Jak mogę pobrać dane inne niż do SQL Server Reporting Services?
Udało mi się sprawić, że silnik lot szybciej w najnowszej wersji oprogramowania, wystarczająco szybko, teraz może dostarczyć dane na żądanie - czasami nawet szybciej niż czas potrzebny na wysłanie zapytania do bazy danych - obliczone liczby. Bardzo się z tego cieszę.
Ten przełom oznacza, że możemy generować dane na żądanie dla interfejsów internetowych i innych modułów oprogramowania. Jednak tabele pamięci podręcznej nie mogą jeszcze umrzeć, ponieważ są zużywane przez raporty SSRS (a dokładniej za pomocą procedur przechowywanych, które przeszukują tabele i dostarczają dane do SSRS.)
Tabele pamięci podręcznej to ból, w ten sam sposób, w jaki każda pamięć podręczna jest bólem w świecie oprogramowania. Nie wchodząc w szczegóły, mają problemy z synchronizacją, problemy z blokowaniem itp. Oprogramowanie działałoby o wiele ładniej, gdybym nie musiał się martwić o aktualizowanie tych cholernych tablic.
Ale jak inaczej mogę uzyskać dane do SSRS? Zrobiłem sporo badań i nic nie wygląda na zbyt obiecujące:
- Możemy dostarczyć dane za pośrednictwem usługi internetowej i korzystać z XML DPR SSRS. Ale to wygląda trochę ohydnie - czy mam rację, że sam musisz przetworzyć kopertę SOAP ?! I nie obsługuje XPath, ale zastrzeżony dialekt XPath-y? Nasi autorzy raportów znają T-SQL i to jest to, w czym są najlepsi.
- Używanie SQL CLR do hostowania naszego API nie jest pożądane - jest to duża aplikacja i nie można nic zrobić bez tworzenia obiektu aplikacji i logowania itp.
- Używanie SQL CLR do kontaktowania się z usługą sieciową na aplikacja internetowa - jest to najbardziej obiecująca do tej pory (ten artykuł był pomocny http://www.simple-talk.com/sql/sql-server-2005/practical-sql-server-2005-clr-assemblies/.) Czy ktoś próbował tego podejścia? Czy działa dobrze, czy może dostarczać duże zestawy danych? OTOH Zostałem wyłączony przez dodatkową konfigurację, którą musielibyśmy wykonać na klientach serwerów DB.
- Wszelkie inne sugestie będą mile widziane.
Dodałem nagrodę dla każdego, kto może zapewnić mi dobre doświadczenie/informacje/specyfikacje/numery na temat tego, czy wyłączenie tego z SQLCLR/Web Services jest łatwe w zarządzaniu, czy jakiekolwiek inne dobre pomysły, które pomogą w tej sytuacji. –
Witam, czy rozumiem poprawnie, że tabele pamięci podręcznej są używane głównie przez SSRS, do celów raportowania? Wygląda na to, że raportowanie jest aspektem twojej aplikacji/rozwiązań, ale z powodu tego aspektu powoduje to, że trzeba wykonać jakąś nieprzyjemną pracę dla celów raportowania? –
To prawda, Rihan. Raportowanie jest składnikiem aplikacji, a nieprzyjemne tabele istnieją tylko w celu dostarczenia danych do raportów. –