wtorek, 16 kwietnia 2013

Node.js + Microsoft SQL Server (2)

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.

Capture2_thumb5

sn9

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:

image

Uzyskałem wynik podobny to tego, jaki dostanę po zastosowaniu przyszłej wersji pakietu node.js dla MS SQL Server –;) 

Brak komentarzy: