Archiwum dla kategorii ‘SQL’

SQL: MSDTC: The partner transaction manager has disabled its support for remote/network transactions

2019-03-04

MSDTC to jedna z usług, o której… lepiej nie słyszeć, bo jeśli o niej nie słyszysz, to znaczy, że wszystko działa, a jak już ktoś coś o niej powie, to często zaczyna się szukanie igły w stogu siana. Na szczęście konfiguracja usługi nie jest aż tak bardzo kłopotliwa. Ta opowieść zaczyna się od kontaktu ze […]

By Rafał Kraik in SQL

Python: Nie można uruchomić skryptu z linii komend: Can’t find a default python

2019-01-11

Żeby z linii komend można było uruchamiać sktypty pythona bez podawania ścieżki do programu python.exe, najlepiej jest dodać katalog instalacji pythona do zmiennej środowiskowej PATH podczas instalacji: Jednak, jeśli nie chcesz poprawiać instalacji, po prostu ręcznie zmodyfikuj ścieżkę. U mnie wygląda to tak: Inna kwestia, to czy skrypty napisane w pythonie mają właściwą ikonkę i […]

By Rafał Kraik in SQL

SQL: Sprawdzanie czy tabela jest wykorzystywana w widokach, funkcjach lub procedurach

2018-11-25

Od czasu do czasu administrator lub programista musi nieco posprzątać w swojej bazie danych. Sprzątanie może polegać na usunięciu tabel, które nie są już potrzebne, w których kiedyś ktoś planował przechowywać jakieś dane, ale się rozmyślił i zostają osierocone, nieużywane tabele. Wykonanie polecenia DROP jest proste, szybkie i przyjemne, ale przed usuwaniem warto sprawdzić, czy […]

By Rafał Kraik in SQL

SQL CLR – przykład funkcji, procedur, typów…

2018-10-07

Poniżej zamieszczam przykładową klasę zaimplementowaną w C# Visual Studio 2017 zawierającą: funkcję Split zamieniającą napis rozdzielany separatorami na tabelę wartości funkcję ListFiles zwracającą w postaci tabeli pliki znajdujące się w określonym katalogu funkcję ListDirs zwracającą w postaci tabeli katalogi znajdujące się w określonym folderze funkcję skalarną GetDBCount zwracającą informację o ilości baz znajdujących się na […]

By Rafał Kraik in SQL

SQL CLR – podpisywanie kodu

2018-10-07

Tutorial krok po kroku, jak podpisać i zaiportować moduł CLR W tym artykule pokażę jak od A do Z zaimplementować w .NET dwie metody służące do listowania plików i katalogów i zaimportować te funkcje do SQL 2017 z uwzględnieniem aktualnych best practice (z opcją 'clr strict security’). Czym jest ta opcja i jakie ma działanie […]

By Rafał Kraik in SQL

SQL: CLR w wersji 2017+opcja clr strict security

2018-10-07

SQL 2017 wprowadził pewną zmianę w zakresie CLR. Otóż od tej pory bardzo wiele zależy od opcji 'clr strict security’ (konfigurowana przez sp_configure). Jeżeli jej wartość to „0” (NIEZALECANE), to wszystko działa po staremu, tzn.: każdy assembly posiada swój permission set, który może być równy: SAFE – nie wychodzimy poza „proces” – jakieś dane dostaliśmy […]

By Rafał Kraik in SQL

SQL CLR: Funkcja z context connection=true kończy się błędem

2018-09-30

Funkcja została zdefiniowana w dość prosty sposób: [SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)] public static int GetDBCount() { using (SqlConnection conn = new SqlConnection(„context connection=true”)) { conn.Open(); SqlCommand cmd = new SqlCommand( „SELECT COUNT(*) AS 'NumberOfDatabases’ FROM sys.databases”, conn); return (int)cmd.ExecuteScalar(); } } Niestety jej wykonanie kończyło się błędem: This statement has attempted to access […]

By Rafał Kraik in SQL