[ lampica @ 23.08.2005. 10:51 ] @
Možda je neko imao iskustva sa ovim pa može da mi pomogne:

DTS paket osvežava tabelu u bazi na SQL Serveru tako što pomoću 2 Execute SQL task-a dodaje nove slogove (ako takvih ima) i radi update postojećih (ako ima nekih izmena u podacima koje to zahtevaju). Njima sam zamenila DDQ pošto se dosta brže izvršavaju, a rade istu stvar.
U prethodnoj verziji DTS paketa pomoću ActiveX skripte sam u globalne promenljive upisivala koliko je slogova dodato i koliko je ažurirano u tabeli pošto su mi to značajne informacije.
U trenutnoj verziji koristim SELECT @@ROWCOUNT AS slogova da prebrojim koliko je slogova u jednom tasku dodato, a koliko u drugom ažurirano, i to tako što se u istom tasku prvo uradi INSERT ili UPDATE pa onda navedeni SELECT. SQL sam proverila u Query Analyzer-u, i radi ono što se od njega očekuje.
Tako dobijene podatke uz pomoć mapiranja parametara upisujem u globalne promenljive broj_dodatih i broj_azuriranih koje su obe tipa integer. To mi sve zvuči ok, ali bez obzira koliko redova dodam ili izmenim (a to paket uradi dobro) obe globalne promenljive po izvršavanju paketa imaju vrednost nula iako ih nigde ne resetujem.

Dakle, nešto sam previdela. Da li neko ima ideju šta? Ili, kako na drugi način da dođem do traženih brojeva?
[ Riste Pejov @ 24.08.2005. 10:41 ] @
Meni izgleda da imas problem sa Scope globalnih varijabli. Jeli si definirala varijable u designeru ili u kodu ?

Iz MSDN-a
Citat:

Scope of Global Variables

Scope refers to the lifetime of the variable reference in memory. The scope depends on where the variables are declared or initialized. Whether a global variable is still accessible after a package has executed depends on how the global variable was created.

A global variable created during design time retains the value it had when the package finished execution, if the package is saved. For example, suppose you create the global variable, "city," and set it to the value of "Boston." During package execution, an ActiveX script changes the value of "Boston" to "Philadelphia." The next time you execute the package, the global variable will contain "Philadelphia," not "Boston." This is useful if you want to query the value of a package global variable after execution.

However, global variables created dynamically in an ActiveX script have two scopes. If they are created above the Function Main(), they are available to all functions in the script. This is the equivalent to module-level scope. If they are declared within a function, they are available only inside that function. This is equivalent to procedure-level scope.
[ lampica @ 24.08.2005. 12:42 ] @
Hm, ja svoje promenljive definišem u Package/Properties, pa na kartici Global Variables, a dve ActiveX skripte koje koristim ne rade ništa sa te dve promenljive. Pri definisanju sam im postavila vrednost na nulu, i ona ostaje nula bez obzira koliko promena se pojavi u tabeli.

U medjuvremenu sam u DTS paket dodala skriptu koju sam našla na www.sqldts.com a koja pokazuje vrednosti svih globalnih promenljivih po izvršavanju paketa i tu stoji nula kod obe...

Kao da postoji problem pri slanju krajnje vrednosti SQL naredbe u globalnu promenljivu, a ne javlja nikakvu grešku.
[ Milovan_B @ 24.08.2005. 17:18 ] @
Da li si koristila Javu ili VB script u DTS Activex. Posallji source.

Pozdrav,
Milovan
[ lampica @ 25.08.2005. 08:25 ] @
Evo source-a...
[ MilovanB @ 29.08.2005. 01:43 ] @
Lampica,
Pogledao sam kod i izgleda sve u redu. Po mom misljenju, SQL kod u okviru DTS paketa bi trebala da 'preselis' u Stored proceduru. U okviru te stored procedure treba da insertujes redove sa informacijeama KOJE SADA dobijas iz globalnih DTS promenljivih u LOG TABELU. Tako bi umesto globalnih promenljivih imala tabelu sa istoriskim pdodacima kako se popunjava tvoj Data Warehouse. Neznam da li sam dovoljno jasan sa ovim predlogom, ali za mene je mnogo logicnije da koristis Log tabelu iz koje mozes da vidis performancu tvog data warehousa loading procesa, nego da dobijas te podatke pojedinacno iz globalnih promenljivih.
Ako imas problema sa pomeranjem koda u SP javi se pa cu detaljnije da obrazlozim predlog.

Pozdrav,
Milovan
[ lampica @ 29.08.2005. 08:12 ] @
Moja log tabela se popunjava preko tih globlnih promenljivih, a koliko sam shvatila, pomoću SP mi ne trebaju promenljive, već tako mogu direktno da popunjavam log tabelu?
Pošto radim sa sql serverom vrlo malo (a od početka sve učim i radim sama, sticajem okolnosti), svaki savet vezan za ostvarivanje tvoje ideje prebacivanja SQL-a u SP je dobrodošao.

Inače, SP do sada nisam koristila, samo sam malo čitala o njima.