MSSqlSchema
Aplikacja generuje schemat bazy danych w formacie xml, który może być wykorzystany do dalszego przetwarzania. Ja używam tych danych z pomocą arkuszy stylów xslt w sposób opisany poniżej. Produkt składa się z aplikacji oraz zestawu arkuszy stylów do tworzenia dokumentacji.
Automatyczne tworzenie dokumentacji serewarea baz danych
Dla przykładu sposób wykorzystania aplikacji do automatycznego tworzenie dokumentacji baz danych lokalnego serwera sql. W pierwszym kroku generujemy xml'a z listą baz danych na serwerze:
MssqlSchema dblist localhost sa sa > dblist.xml
Używając arkusza stylów xslt (list.xsl) tworzymy plik index.htm będący podstawową stroną naszej dokumentacji
msxsl dblist.xml list.xsl > index.htm
I w wyniku otrzymujemy
Mamy wyświetloną listę baz danych dla naszego serwera oraz linki dla każdej z baz do definicji tabel, widoków, procedur i funkcji. Teraz należy przejśc do etapu generowania stron dokumentacji, które będą dopięte do tych linków. Do tego celu posłuży nam mały skrypcik db.cmd. Jego działanie jest bardzo proste. Dla podanej w parametrze bazy danych generuje xml'a z informacją o tabelach, widokach, procedurach i funkcjach. Następnie wykorzystując przygotowane wcześniej arkusze xslt, transformuje dane do html'a.
MssqlSchema dbinfo localhost sa sa %1% > %1%.xml msxsl %db%.xml table.xsl > %1%_table.htm msxsl %db%.xml view.xsl > %1%_view.htm msxsl %db%.xml procedure.xsl > %1%_procedure.htm msxsl %db%.xml function.xsl > %1%_function.htm
Wywołujemy skrypt dla bazy Testowanie_3
db Testowanie_3
W wyniku działania otrzymamy cztery pliki html, które odpowiadają linkom tables/views/procedures/functions dla tabeli Testowanie_3 Po kliknięciu w wybrany link dla naszej bazy zobaczymy sformatowaną informację o strukturze, np. tabel
Każda z wygenrowanych stron zawiera listę obiektów z linkiem do sczegółów danego obiektu. Poniżej strona z listą procedur i ich parametrami
By zupełnie automatycznie generować dokumentację przy uzyciu MssqlSchema, należy stworzyć skrypt tworzący kompletną dokumentację, który byłby uruchamiany cyklicznie np. raz na dobę nocą lub na żądanie.
@echo off rem Tworzenie listy baz danych dla index.htm MssqlSchema dblist localhost sa sa > dblist.xml msxsl dblist.xml list.xsl > index.htm rem Tworzenie dokumentacji dla poszczególnych baz z wykorzystaniem db.cmd db ElkoTO db NorthWind db Testowanie_3
Przykładową dokumentację mozna obejrzeć tutaj
Automatyczne generowanie kodu dla wybranej bazy danych
MssqlSchema ma możliwość tworzenia xml'a w formacie akceptowanym przez napisany przez mnie generator kodu warstwy dostępu do danych. Dzięki temu może być wykorzystany do 'zasilania' danymi generatora. Poniżej skrypt, który wykonuje tą operację dla bazy ElkoTO
rem lokalizacja generatora set GENCODE=c:\AppDev\WorkDir\chinasoftcodegen\codeGen2.pl rem Tworzenie xml'a dla generatora kodu mssqlschema codegen localhost sa sa ElkoTO > codegen.xml rem Generowania kodu sql perl %GENCODE% -l sql -d mssql -i xml rem Generowanie kodu C# perl %GENCODE% -l C# -d mssql -i xml -e ChinaSoft.DataAccess set GENCODE=
Wynikiem jego działania są pliki kodu źródłowego sql i c#. Więcej informacji o kodzie i sposobie jego użycia we własnej aplikacji można poczytać pod adresem http://www.codegen.chinasoft.com.pl
A to przykłady trzech plików wygenerowanego kodu:
Device.sql Device.cs DbDevice.cs UkryjPobieranie
Aplikacja jest dostępna do pobranie w dziale Techikalia/Download Technikalia/Download