Category Archive: Programowanie

Jan 08

Aktualizowanie rekordów w pętli while – TSQL

Poniżej przykład aktualizowania dużej liczby rekordów z wykorzystaniem pętli WHILE w TSQL Dlaczego tak? Dlatego, że chcemy podzielić rekordy na paczki i aktualizować paczka po paczce. W przypadku błędu wycofana zostanie jedna paczka a nie całość. Przykład na podstawie bazy AdventureWorks2008R2 SELECT COUNT(*) FROM Production.Product WHERE FinishedGoodsFlag = 1 Wynik zapytania 295 rekordów DECLARE @isFinished …

Continue reading »

Dec 24

Import pliku CSV do SQL Server

Podczas analizy olbrzymiej ilości danych zdarza się, że edytory tekstu i regexp nie dają, wtedy, jedną z metod jest bulk insert danych z pliku do tabeli. Metoda bardzo wydajna, pozwalająca po imporcie swobodnie korzystać z dobrodziejstw SQL Server. BULK INSERT TempTable FROM ‘C:\Data\data.csv’ WITH( FIRSTROW =2, LASTROW =10, FIELDTERMINATOR =’,’,–CSV field delimiter ROWTERMINATOR =’\n’,–Use to …

Continue reading »

Oct 21

Mapowanie typów danych SSIS i SQL Server

Kto nigdy nie napotkał tego problemu, to znaczy, że nie pracował z SSIS`ami   SSIS Data Type SSIS Expression SQL Server single-byte signed integer (DT_I1) two-byte signed integer (DT_I2) smallint four-byte signed integer (DT_I4) int eight-byte signed integer (DT_I8) bigint single-byte unsigned integer (DT_UI1) tinyint two-byte unsigned integer (DT_UI2) four-byte unsigned integer (DT_UI4) eight-byte unsigned …

Continue reading »

Aug 21

Transakcje i poziomy izolacji

Transakcja Transakcja jest zbiorem operacji na bazie danych, które wykonują się zgodnie z zasadą “wszystko albo nic”. Transakcyjność gwarantuje spójność danych w przypadku wystąpienia błędu w trakcie wykonania zapytania na bazie danych.  Jest ona jedną z zasad ACID Zasada ACID Atomicity – atomowość, Consistency – spójność, Isolation – izolacja, Durability – trwałość. atomowość transakcji oznacza, …

Continue reading »

Jul 08

Debuggowanie SSIS Script Component

Debugging is not possible untill 2012, but there are some ‘workarounds’ http://microsoft-ssis.blogspot.com/2011/04/breakpoint-does-not-work-within-ssis.html Dobrym rozwiązaniem jest debuggowanie z wykorzystaniem Trace loga // C# Code public override void Input0_ProcessInputRow(Input0Buffer Row) {     System.Diagnostics.Trace.WriteLine(“SomeMessage: ” + Row.YourColumn); } Programik do podglądania logów DebugView v4.81 http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx