Kontynuacja poprzedniego tematu, czyli Sql Server na node.js. Dziś poruszę kwestię obsługę procedur z parametrami output.
Jak wskazuje jeden z linków z poprzedniego posta, w aktualnej wersji drivera dla Microsoft SQL Server nie ma specjalnego wsparcia dla obsługi tej funkcjonalności (podobnie jak nazwanych parametrów). Jest propozycja, by zostało to zaimplementowane w postaci zwracania wielu rezultatów z procedury (wartości parametrów out jako pseudo-rezultaty).
No dobra, ale jak sobie poradzić teraz z tym? Driver Microsoft wydaje się najpewniejszym sposobem dostępu do Sql Server. Owszem można spotkać inne pakiety node.js, ale nie rzuciło mi się na oczy nic szczególnego, zwłaszcza z takim ficzerem. Zawsze mogę też użyć .NET dzięki edge.js… Ale istnieje też rozwiązanie problemu w samym T-SQL. Tymczasowo możemy opakować wywołanie procedury z parametrami out, tak by zasymulować zwracanie wielu wyników. Robimy to albo w postaci innej procedury lub w postaci ciągu instrukcji T-SQL przekazywanych wprost do obecnej wersji drivera! W poniższym przykładzie skorzystałem z tej drugiej opcji.
Podobnie jak w poprzednim poście z metadanych i danych w wierszach buduję obiekty z właściwościami. Otrzymuję w przeglądarce dynamicznie wyniki w postaci JSON:
Uzyskałem wynik podobny to tego, jaki dostanę po zastosowaniu przyszłej wersji pakietu node.js dla MS SQL Server –;)
Brak komentarzy:
Prześlij komentarz