2012-09-12
^(?(„”)(„”[^””]+?””@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&’\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$
Wiesz co to jest? – Tak masz rację. To jest wyrażenie regularne opisujące poprawny adres e-mail. Jeżeli potrzebujesz gotowej funkcji sprawdzającej adres e-mail, to skorzystaj z tego. Ale tym razem nie wyłamujmy może otwartych drzwi. Wyżej wymieniony fragment wyrażenia regularnego pochodzi ze strony MSDN, na której znajdziesz cały kod klasy weryfikującej poprawność adresu e-mail. Oto link do tej strony: http://msdn.microsoft.com/en-us/library/01escwtf.aspx Zauważ, że w górnej części tej strony znajdziesz możliwość przełączenia sie w konkretną wersję Framework. Czytaj dalej »
2012-09-12
Prosto! Posłuży do tego ten kawałek kodu, który w zmiennej page zapisze zawartość html strony mobilo:
WebClient wc = new WebClient();
string page = wc.DownloadString(http://www.mobilo24.eu/);
Podobno metoda ta może zawodzić – trwać zbyt długo. W moim przypadku jednak ten problem się nie pojawiał. W takim przypadku można by próbować posługiwać się obiektami WebRequest i WebResponse:
http://stackoverflow.com/questions/4510212/how-i-can-get-web-pages-content-and-save-it-into-the-string-variable
2012-08-31
Moim celem było utworzenie kilku kopii bazy danych na tym samym serwerze. Ponieważ miałem już gotową wzorcową bazę, uruchomiłem kreatora Deployment Wizard, który w ostatnim kroku pozwolił mi nie wykonywać natychmiast deploy bazy danych, ale zapisanie skryptu XMLA. Ten skrypt może być uruchamiany przez Management Studio. Jednak jak zrobić, aby powstawały nowe bazy danych. W skrypcie wyszukałem miejsca, które odwoływały się do aktualnej nazwy bazy danych i zmieniałem tę nazwę na nową. Było kilka takich miejsc:
<Batch Transaction=”false” xmlns=”http://schemas.microsoft.com/analysisservices/2003/engine„>
<Alter AllowCreate=”true” ObjectExpansion=”ExpandFull”>
<Object>
<DatabaseID>MYOLAP1</DatabaseID>
</Object>
<ObjectDefinition>
<Database xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:ddl2=”http://schemas.microsoft.com/analysisservices/2003/engine/2” xmlns:ddl2_2=”http://schemas.microsoft.com/analysisservices/2003/engine/2/2” xmlns:ddl100_100=”http://schemas.microsoft.com/analysisservices/2008/engine/100/100” xmlns:ddl200=”http://schemas.microsoft.com/analysisservices/2010/engine/200” xmlns:ddl200_200=”http://schemas.microsoft.com/analysisservices/2010/engine/200/200” xmlns:ddl300=”http://schemas.microsoft.com/analysisservices/2011/engine/300” xmlns:ddl300_300=”http://schemas.microsoft.com/analysisservices/2011/engine/300/300„>
<ID>MYOLAP1</ID>
<Name>MYOLAP1</Name>
<DataSourceImpersonationInfo>
<ImpersonationMode>Default</ImpersonationMode>
</DataSourceImpersonationInfo>
…
<Process>
<Type>ProcessDefault</Type>
<Object>
<DatabaseID>MYOLAP1</DatabaseID>
</Object>
</Process>
</Batch>
Odniosłem prawie sukces. Wprawdzie bazy danych się tworzyły, ale ich procesowanie się nie udawało: Czytaj dalej »
2012-08-30
Sam się w tym gubię, wieć certyfikację SQL 2012 rozpisałem sobie tak:
Exam 461 Querying Microsoft SQL Server 2012
Exam 462 Administering Microsoft SQL Server 2012 Databases
- Course 10775 Administering Microsoft SQL Server 2012 Databases
Exam 463 Implementing a Data Warehouse with Microsoft SQL Server 2012
- Course 10777 Implementing a Data Warehouse with Microsoft SQL Server 2012
Exam 464 Developing Microsoft SQL Server 2012 Databases
Exam 465 Designing Database Solutions for Microsoft SQL Server 2012
- Course 20465 Designing Database Solutions for Microsoft SQL Server 2012
Exam 466 Implementing Data Models and Reports with Microsoft SQL Server 2012
- Course 10778 Implementing Data Models and Reports with Microsoft SQL Server 2012
Exam 467 Designing Business Intelligence Solutions with Microsoft SQL Server 2012
- Course 20467 Designing Business Intelligence Solutions with Microsoft SQL Server 2012
2012-08-29
Książka jest przeznaczona dla początkującego programisty lub administratora bazy danych MS SQL. Na dodatek wdraża ona administratora w jego zadania w, moim zdaniem, poprawnej kolejności. Trudno byłoby wytłumaczyć administratorowi, o co chodzi w typowych zadaniach administracyjnych, gdyby nie potrafił on wykonywać zapytań do bazy danych, nie umiałby tworzyć obiektów bazodanowych i nie rozumiał podstawowych założeń systemu bezpieczeństwa bazy danych.
Jeżeli jednak szukasz pełnego podręcznika na temat administracji serwerem wraz z opisem mirroringu, replikacji, backupów, automatyzacji za pomocą SQL Serwera, to polecałbym raczej inne książki na ten temat lub szkolenia z SQL serwer publikowane przez Microsoft dostępne między innymi w bit Polska, gdzie sam opowiadam o niuansach pracy z serwerem SQL
Ale po kolei:
- Część pierwsza to właściwie wprowadzenie i teoria baz danych i niecierpliwi być może przeskoczą go w swojej lekturze. Na szczęście to tylko około 25 stron. Czytaj dalej »
2012-08-27
Nie ma go:)
Jest to próba przełamania formy prezentacji danych wielowymiarowych. Mając do dyspozycji tabelę przestawną myślisz o 2 wymiarach, a gdy masz ich więcej trudno to zaprezentować. Dlatego w wersji 2012 zrezygnowano z tabeli przestawnej i dane są raczej prezentowane w postaci wierszowej.
2012-08-26
Budowałem KPI. Wyskoczył mi błąd:
The PREVMEMBER function expects a member expression for the 1 argument. A level expression was used.
O co chodzi? Otóż budując Goal Expression, jak zwykle odwołałem się do poprzedniego okresu np:
1.4*([Date].[Calendar].PrevMember,[Measures].[Reseller Sales Amount])
Zgodnie z moimi oczekiwaniami pownna sięgnąć do poprzedniego okresu, czyli wyświetlając KPI dla roku 2012 powinnien najrzeć do roku 2011, a wyliczając dla sierpnia powinien spojrzeć do lipca. Z tym, że aby funkcja tak zadziałała [Calendar] musi być hierarchią zdefiniowaną dla wymiaru [Date]. U mnie tak nie było, stąd błąd. Wystarczyło zdefiniować hierarchię [Calendar] i już wszystko działa!