poniedziałek, 15 kwietnia 2013

Node.js + Microsoft SQL Server (1)

Tym razem podsumuję sposoby dostępu do bazy Microsoft Sql Server z poziomu node.js.

Mamy ogólnie dwie wygodne opcje:

Jako że już sporo pisałem o Edge.js, dziś skupię się na dedykowanym pakiecie. Na początek kilka faktów:

Spróbujmy z node.js wywołać procedurę składowaną. Aby było ciekawiej weźmy taką, która zwraca dwa zbiory wyników. Odpowiedni kod w TypeScript/JavaScript wygląda następująco:

Capture2Capture

W przypadku wielu wyników callback w wywołaniu queryRaw jest wywoływany tyle razy, ile jest wyników (w moim przypadku dwa razy). Aby obsługa wielu rezultatów działała, używamy wywołania queryRaw z parametrem more. Bez niego zostanie zwrócony tylko pierwszy rezultat procedury. Wywołanie bez more zwykle stosujemy przy procedurach zwracających jeden wynik.

Kod z pętlami ma za zadanie zmienić strukturę zwracanych danych, tak by zamiast wszystkich metadanych kolumn i wierszy zwracać obiekty z odpowiednimi właściwościami. Zwracany do przeglądarki JSON wygląda w moim przypadku następująco:

image

Zmiana lub podmiana procedury w bazie powoduje zwracanie danych o innej strukturze bez żadnej modyfikacji kodu serwera. Pełna dynamiczność przy krótszym i prostszym kodzie niż C#. Do more with less!

Brak komentarzy: