Posted by mndevnotes Język T-SQL w najnowszej wersji SQL Server został wzbogacony o szereg nowych funkcji. W tym wpisie zajmę się trzema funkcjami służącymi do konwersji typów danych: PARSE, TRYPARSE, TRYCONVERT.
Bazy danych i XML 4602 dni, 2 godziny, 2 minuty temu 143 źrodło rozwiń
O zdarzeniach IntelliTrace pisałem już kilkakrotnie (Własne zdarzenia IntelliTrace!, Własne zdarzenia IntelliTrace 2). Każdy z tych postów dotyczył jednak zdarzeń definiowanych deklaratywnie w pliku XML. Jest to stosunkowo proste, nie potrzeba nic kodować ale co z tym związane ma to też swoje ograniczenia. W takiej sytuacji z pomocą przychodzą nam Programmable Data Query (w skrócie PDQ) czyli klasy implementujące interfejs Microsoft.HistoricalDebuggerHost.IProgrammableDataQuery....
Bazy danych i XML 4610 dni, 4 godziny, 29 minut temu 148 źrodło rozwiń
W poprzednim poście opisałem czym są Programmable Data Query i jak zdefiniować wykorzystujące je zdarzenie IntelliTrace. Teraz pora na przedstawienie przykładowej implementacji PDQ. Zacznijmy jednak od przypomnienia do czego służą poszczególne metody interfejsu IProgrammbleDataQuery. Potrzebne informacje zamieściłem na poniższej mapie myśli: Poniższe PDQ może zostać użyte z każdym zdarzeniem diagnostycznym. Jest proste ale nie znajdziemy analogicznego w bibliotece Microsoft.Vis...
Bazy danych i XML 4610 dni, 4 godziny, 29 minut temu 36 źrodło rozwiń
Załóżmy, że mamy tabelę z kolumną typu VARCHAR(2500), a w niej sporo wierszy. Wynik zapytania z tej tabeli chcielibyśmy posortować według wspomnianej kolumny. Oczywiście będzie to bardzo czasochłonne, a tym samym słabo wydajne. Jak sobie z tym poradzić?
Bazy danych i XML 4623 dni, 12 godzin, 51 minut temu 183 źrodło rozwiń
Autorzy książki Ross Mistry i Stacia Misner opublikowali na blogu Microsoft Press najnowszą książkę na temat SQL Sever 2012 . Plik zajmuje ok 10 MB w formacie PDF. Plik można pobrać stąd. Na stronie źródłowej można przeczytać spis treści oraz przybliżoną cenę wersji papierowej - 14$ . źródło
Bazy danych i XML 4633 dni, 4 godziny, 21 minut temu 191 źrodło rozwiń
Kiedyś podczas pisania procedury SQL potrzebowałem funkcję, która podzieli mi tekst oddzielony przecinkami na części. Wiedziałem, że taka funkcja istnieje w MySQL ( splitstring ) ale w Oracle nie przewidzieli jej.Google było bardzo pomocne ...
Bazy danych i XML 4633 dni, 4 godziny, 21 minut temu 85 źrodło rozwiń
Agregaty kroczące Rozważmy następującą sytuację: mamy w bazie danych rekordy zużycia jakiegoś zasobu oraz pulę do wykorzystania. Na przykład rozliczamy jeden okres rozliczeniowy abonenta telefonu, ma on w ofercie jakąś ilość darmowych minut w każdym cyklu, więc gdzieś w bazie, w danych bilingowych w kolejnych rekordach ilości minut poszczególnych rozmów wchodzących w skład cyklu rozliczeniowego. Interesująca nas część rekordu może się składać z dwóch kolumn: (id, minuty), gdzie większa wartość pola id...
Bazy danych i XML 4642 dni, 4 godziny, 44 minuty temu 232 źrodło rozwiń
Tworząc aplikację, która operuje na jakichkolwiek danych, które mają być dostępne również w przyszłości, szybko dochodzimy do momentu, kiedy to musimy wybrać odpowiedni sposób składowania tych danych. Po szybkim namyśle, przyjdzie Wam z pewnością kilka propozycji: Tekstowy plik danych o określonej strukturze Plik XML (można korzystać z serializacji) Baza danych Każde z tych rozwiązań ma swoje określone wady i zalety, a wszystko zależy również od skali projektu. W moim przypadku miałem właśnie do czy...
Bazy danych i XML 4665 dni, 16 godzin, 36 minut temu 349 źrodło rozwiń
autor: W drugim poście poświęconym Raven DB opiszę jak wykonywać podstawowe operacje (zapisz/usuń/zmień) na dokumentach. Ale czym jest dokument? Nie wiem jaka jest formalna definicja ale ja na dokumenty patrzę po prostu jak na obiekty zapisane (zserializowane) w formacie JSON. Poniżej przykład takiego dokumentu z mojego pet project, który odpowiada obiektowi klasy reprezentującej wyrażenie i jego tłumaczenia. { "Category": "Geografia", "Expression": "wioska", "Translations": [ {...
Bazy danych i XML 4692 dni, 12 godzin, 20 minut temu 188 źrodło rozwiń
Raven DB to dokumentowa baza danych, przedstawiciel trendu NoSQL, opracowana przez Ayende i jego zespół. Całkiem niedawno bo w październiku 2011 Ayende był zresztą w Polsce i opowiadał o swoim dziecku. Kilka miesięcy temu w jednym ze swoich pet project postanowiłem zmienić technologię dostępu do danych i wybór padł właśnie na Raven DB. Kilka słów wstępu Projekt ten to program LanguageTrainer wspomagający naukę słówek. Pomysł jego napisania narodził się ponad rok temu kiedy "ponownie" rozp...
Bazy danych i XML 4694 dni, 13 godzin, 19 minut temu 230 źrodło rozwiń
Jak zdeserializować plik XML jeżeli nie posiadamy klasy, która została zserializowana.
Bazy danych i XML 4700 dni, 20 godzin, 59 minut temu 198 źrodło rozwiń
Post navigation← PreviousPułapki w SQL Server CEOpublikowano 7 Grudzień 2011 Ostatnio mam okazję robić projekt, do którego używam WebMatrix i bazę Microsoft SQL Server CE (Compact Edition). Docelowo baza ma być przeniesiona do „dużego” SQL’a, a ten CE miał być tylko na chwilę, na początek, na szybko…Subselect / subquery SQL Server CE nie obsługuje Subselectów. Nie możemy zrobić takiego zapytania:SELECT c.FirstName, c.LastName, (SELECT count(o.id) FROM Order o WHERE o.CustomerId = c.Id) AS Ord...
Bazy danych i XML 4739 dni, 3 godziny, 41 minut temu 165 źrodło rozwiń
Można prościej Pewnie większość programistów SQL Server'a już zapoznała się ze zmianami w sposobie deklarowania i inicjalizacji zmiennych w wersji MS SQL Server 2008. Aczkolwiek, dla tych którzy jeszcze o tym nie czytali przygotowałem krótkie demo (dzisiaj 289 sekund, więc trochę długo), w którym przepisuje kod napisany w stylu T-SQL'a z MSSQL 2000 na wersję 2008.
Bazy danych i XML 4747 dni, 14 godzin, 50 minut temu 164 źrodło rozwiń
Wczoraj w pracy natknąłem się na, na pierwszy rzut oka, banalny problem, który jak to często bywa po drugim rzucie okazał się trudniejszy niż zakładałem. Ale po kolei...
Bazy danych i XML 4749 dni, 22 godziny, 26 minut temu 143 źrodło rozwiń
Dzisiaj kolejny krótki wpis, ponownie dotyczący NHibernate'a. Jak pewnie zdążyliście zauważyć jest to coś co ostatnio sprawia mi najwięcej problemów. Próbując pobrać rekordy przy pomocy zwykłego selecta zawężonego o kryteria w NHibernate, otrzymałem zaskakujący błąd "Cannot update a parent row: a foreign key constraint fails"
Bazy danych i XML 4752 dni, 3 godziny, 37 minut temu 55 źrodło rozwiń
Domyślne wartości bardzo łatwo ustawić za pomocą wizualnego edytora EntityFramework. Wystarczy ustawić właściwość Default w oknie properties: Co jednak gdy chcemy ustawić wartość wyliczoną na podstawie jakieś funkcji? Dla przykładu może być to DateTime.Now bądź też Guid.NewGuid()?Wpisując w te same okienko dostaniemy błąd podczas kompilacji: Error 1 Error 54: Default value (System.Guid.NewGuid()) is not valid for GUID. The value must be enclosed in single quotes in the form 'dddddddd-dddd-dddd-ddd...
Bazy danych i XML 4754 dni, 19 godzin, 10 minut temu 198 źrodło rozwiń
autor: Chciałbym zapoczątkować nową świecką tradycję na moim blogu. Pokusiłem się o nagranie 2 minutowego filmiku na którym prezentuje jak uruchamiać jedno zapytanie na wielu serwerach przy użyciu SQL Server Management Studio. Moim celem jest dzielenie się prostymi, aczkolwiek mam nadzieję, że przydatnymi "pomysłami" w jak najkrótszym czasie antenowym. Poniżej przykładowy filmik. Zachęcam do poświęcenia 140 sekund na obejżenie tego filmiku i oczywiście proszę o komentarze na temat takiej formy knowledge ...
Bazy danych i XML 4760 dni, 3 godziny, 49 minut temu 216 źrodło rozwiń
autor:Czy mój system jest zdrowy? Pewnego słonecznego poranka, z braku laku uruchomiłem SQL Server Profiler'a. Bez konkretnego celu, postanowiłem przejrzeć rodzaj i ilości zapytań SQL które są generowane podczas jednego wejścia na stronę pewnego systemu z którym pracowałem. Ku mojemu zakoczeniu, web'owa aplikacja okazała się bardzo skuteczna w produkcji dużej liczby zapytań do pobrania małej ilości danych. Trace w Profiler'rze wyglądał jak świąteczna lista życzeń. We wspomnianym przypadku, jednym z pow...
Bazy danych i XML 4763 dni, 2 godziny, 57 minut temu 424 źrodło rozwiń
Ignorancja to słabość Ostatnio przeglądałem T-SQL kod w którym została użyta pewna siermiężna acz użyteczna konstrukcja (użyteczna w poprzednich wersjach SQL Server'a, tak od 2005 w dół). Zapytałem się autora kodu, czy przypadkiem nie używają MS SQL Server 2008, otrzymałem pozytywną odpowiedź "nawet w wersji R2". Kod który prezentuje ogólny zarys problemu znajduje się poniżej. Przykłądowa implementacja wstawia rekord do tabeli jeśli jeszcze on nie istnieje, w innym wypadku aktualizuje wartości wybranych...
Bazy danych i XML 4777 dni, 21 godzin, 29 minut temu 258 źrodło rozwiń
Znam się z NULL'em od lat Oglądając materiały z Introduction to Databases, przypomniały mi się koszmary z dzieciństwa. Zdarzyło mi się wspierać jako programista bądź inżynier support'u kilka systemów używających MS SQL Server'a (każdy z nich był rozwijany przynajmniej 5 lat). Miały one kilka cech wspólnych , jedna z nich sprawiła mi sporo problemów przy rozwijaniu i utrzymywaniu tych systemów. Posiadały one dużo tabel w których definicje kolumn umożliwiały wstawianie wartości NULL. Poniższa definicja ...
Bazy danych i XML 4799 dni, 23 godziny, 5 minut temu 297 źrodło rozwiń