FUNKCJE I PROCEDURY W KODZIE CLR

Kursy Online SQL Server Bazy Danych Microsotf Funkcje Procedury Kody Clr Andrzej Śmigielski

CLR

 
          CLR (Common Language Runtime) zwane inaczej zintegrowanym CLR jest to dedykowana dla SQL Server’a wersja .NET.
.NET z kolei jest to platforma programistyczna firmy Microsoft składająca się właśnie z CLR, czyli środowiska uruchomieniowego oraz wszelkich bibliotek klas (.dll) dystrybuujących standardową funkcjonalność aplikacji.
Platforma ta nie jest bezpośrednio powiązana z jakimkolwiek językiem programowania, a sam kod może być implementowany w wielu różnych językach, np. C++, C#, Delphi, F#, J#, czy VB .NET.
Temat programowania w technologii .NET jest bardzo obszerny i wykracza poza wszelkie ramy niniejszego szkolenia, zresztą na ten temat powstało wiele książek, dlatego też w tej lekcji nie będziemy implementować kodu w tej technologi, natomiast nauczymy się integrować go z bazą danych.
 
 

WŁAŚCIWOŚCI CLR:

 
implementowany kod oraz jego utrzymywanie, analizowanie i kontrolowanie wiąże się ze znajomością przynajmniej jednego języka programowania, jest zdecydowanie trudniejsze;
do pisania kodu .NET potrzebne jest dodatkowe oprogramowanie: Visual Studio firmy Microsoft;
pozwala na zarządzanie wątkami oraz wszelkimi zasobami pamięciowymi serwera;
operacyjnie jest odizolowany od SQL Servera, czyli nie zużywa jego zasobów, tylko zasoby systemowe maszyny;
daje generalnie nieograniczone możliwości programistyczne, czego nie oferuje nam sam SQL;
często realizując skomplikowane obliczenia biznesowe CLR będzie zdecydowanie efektywniejszym rozwiązaniem;
należy pamiętać, że w .NET logika jest dwuwartościowa, a nie trójwartościowa jak w SQL, dla przypomnienia chodzi o operowanie na typach danych nie mających przypisanej wartości w .NET versus wartości NULL w SQL’u.
w CLR można implementować zarówno wyzwalacze, funkcje, czy procedury łącznie z obsługą parametrów, a w SSMS uruchamia się je analogicznie jak do tej pory, standardowo;
trzeba mieć odpowiednie uprawnienia jako użytkownik bazodanowy oraz SQL Server musi być odpowiednio skonfigurowany, co jest opisane i zrobione w dołączonym do tej lekcji skrypcie;
pozwala na dostęp do zewnętrznych zasobów serwera, czego nie można uzyskać z poziomu kodu SQL.
 
 

WYMAGANE USTAWIENIA:

 
TRUSTWORTHY
Właściwość TRUSTWORTHY oznacza, czy SQL Server jest zaufaną bazą danych i ufa całej jej zawartości. Niektóre bazy danych ze względu na dziedzinę oraz jej przeznaczenie nie mogą mieć takiej możliwości odnośnie bezpieczeństwa danych, więc domyślnie ustawienie to jest wyłączone. W celu umożliwienia korzystania z CLR właściwość ta musi być włączona.

CLR ENABLED
Funkcja integracji CLR domyślnie jest wyłączona i żeby z niej korzystać, trzeba ją włączyć.
 
 

PLIKI DO ŚCIĄGNIĘCIA:

1. 012_Kod_CLR.sql
2. 012_Kod_CLR_Hello_World.dll
 

KURSY SQL ONLINE