Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

vb.net, for, mssql stored proc

[es] :: .NET :: .NET Desktop razvoj :: vb.net, for, mssql stored proc

[ Pregleda: 3345 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.19.EUnet.yu



Profil

icon vb.net, for, mssql stored proc07.05.2003. u 11:58 - pre 255 meseci
program radi sa ms sql serverom, napisan je u vb.net-u i komplikovan je, onako.

za upis i citanje iz baze iz programa se pozivaju ugradjene procedure ms sql servera i to donekle radi bez problema. donekle.

naime, kada prosledjujem delu programa niz struktura koje treba upisati u bazu, niz iscitavam u for petlji i kroz svaki prolaz formiram parametre za ugradjenu proceduru i pozivam istu.

moj niz struktura sadrzi oko 2000 elemenata i kada ovakav objekat posaljem na upis to traje citavu vecnost. naime upis ovog niza (jedna struktura,element, sadrzi int,int,string, string, float) traje preko 120 sec., sto je dovoljno da se ponisti Session i aplikacija puca. za sve vreme upisa sql server zauzima 100% procesorskog vremena, pa je nemogucce bilo sta drugo raditi.

da li neko moze da nasluti u cemu je problem?

da li je neko imao ovakav problem?

koristi se .net framework 1.0. da li je tu problem? razmisljao sam o bagovima u samoj distribuciji, ali nemam bas miskustva sa .net-om i mssql.

da li ugradjenoj proceduri mogu da prosledim niz objekata koje sam sam definisao, odnosno pomenutih struktura, pa da u stor.proc. iscitavam ovaj niz?





Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: vb.net, for, mssql stored proc08.05.2003. u 22:43 - pre 255 meseci
Da li bi mogao da koristiš DataSet koji bi u programu popunio svim potrebnim vrednostima, a zatim ceo DataSet upisao u neku privremenu tablu? Zatim tvoja SP može da radi sa tim podacima (iz te privremene table) šta već treba?

Javi šta si uradio :)
Commercial-Free !!!
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.30.EUnet.yu



Profil

icon Re: vb.net, for, mssql stored proc09.05.2003. u 12:06 - pre 254 meseci
odlicna ideja, druze. pokusaccu, samo da se konsultujem da koordinatorom projekta, ali nasao sam jos nesto zanimljivo... ipak mislim da je bug u Framework-u.

modul koji radi sa podacima koristio je errHandler(taj projekat je vecc bio napisan, ja optimizujem). kada sam izbacio err handler, i zamenio ga try-catch blokom izvrsavanje je krenulo znatno brze. jos uvek eksperimentisem sa ovim, ali obavesticcu sta se desilo i koju sam foru primenio..

pozdrav.
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

dotnet
Beograd

Član broj: 4344
Poruke: 112
212.124.182.*

Jabber: dotnet@elitesecurity.org


Profil

icon Re: vb.net, for, mssql stored proc09.05.2003. u 12:34 - pre 254 meseci
Pozdrav

Da li koristis Prepare metodu SqlCommand?
dotnet
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.14.EUnet.yu



Profil

icon Re: vb.net, for, mssql stored proc09.05.2003. u 16:04 - pre 254 meseci
ne, nisam bas najiskusniji sa majkrosoftom, radim ovo dva meseca, a ucim iz MSDN-a

cemu sluzi prepare?

ali nije upalilo. i dalje isto. cekam ga 2,5 min za 2.500 redova. nesto nije kako treba. da ne treba da podesavam nesto u sql serveru ili sta bi vecc moglo da bude.

ove podatke parsujem iz XML-a, i kada ih ima oko 400-500 uradi sve za manje od 3 sec. 5 puta vise podataka 60 puta vise vremena. bas nije jasno.

od ponedeljka ccu primeniti degojs - ov savet, pa da javim sta sam uradio.

ne mogu vise TGI friday

(thank God it's friday)
:)

pozdrav
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

dotnet
Beograd

Član broj: 4344
Poruke: 112
*.ptt.yu

Jabber: dotnet@elitesecurity.org


Profil

icon Re: vb.net, for, mssql stored proc10.05.2003. u 15:44 - pre 254 meseci
Pozdrav

Sta koristis za citanje XML-a?

Danas sam uradio jedan primer gde imam XML file sa 2000 elemenata, plus svaki element ima po 50 child elemenata i Stored procedure koja vrsi klasican INSERT ovih elemenata u tabelu.
Za citanje XML sam koristio XmlTextReader, upis je isao preko SqlCommand.
Izvrsenje ovog koda u debug mode traje izmedju 5-6 sec(ovo sam radio u lokalnoj mrezi 100Mbps), kasnije sam kreirao fajl sa 10000 elemenata i sve je trajalo izmedju 30-31 sec.

Bilo bi dobro kad bi dao primer iz koda. Sta inace radi SP?

Za Prepare, pogledaj http://msdn.microsoft.com/libr...qlcommandclasspreparetopic.asp
dotnet
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.13.EUnet.yu



Profil

icon Re: vb.net, for, mssql stored proc12.05.2003. u 13:04 - pre 254 meseci
evo dela koji upisuje stavke iz strukture u bazu podataka.

XML citam pomoccu DataSet-a i to se desava brzo, ali nije problem u citanju. taj DS koji sam procitao, obradjujem, pregledam, po potrebi, i onda pakujem u strukturu Otpremnica. za pomenuti DS pri prolasku kroz svaki element pristupam bazi i proveravam da li je element postoji da bih pokupio ostale podatke. ucitavanje svega toga za 2700 zapisa traje 4-5sec. znaci ok.

Iz prilozenog src-a mozes da naslutis kako izgleda struct.Otpremnica.

Code:

Na zahtev autora poruke, kod je uklonjen.
(moderator: degojs, 28.05.2003.)

kao sto vidis prvo se poziva proc OtpremnicaNew koja se izvrsava takodje brzo, to sam kroz dibagovanje mogao da primetim, ali od kad uletim u for pocinju pravi problemi. znaci sa proc. StavkeOtpremniceNew. ovu proc. mozes da pogledas, jednostavna je i ne radi nista sto ne bi trebalo. jednostavan insert.

Code:

Na zahtev autora poruke, kod je uklonjen.
(moderator: degojs, 28.05.2003.)


procedure koristim zato sto je ideni tvorac projekta to tako zamislio, i mogu ti recci da je bio u pravu, s' obzirom koliko toga i koliko lako smo menjali.

po onome sto si mi napisao vidim da si radio isstu stvar, ali ti trosis vreme i na citanje XML-a. uzmi u obzir da ja vecc imam XML i da treba samo skup obicnih podataka da izdvojim iz strukture i upisem u bazu. stvarno ne znam sta se tu desava.

koju verziju Framework-a koristis?, a SQL servera?

ovo sam radio u javi sa MSAccess-om za 2 sec covecce....

ja bas znam da skrtatim topic...
:)


[Ovu poruku je menjao degojs dana 28.05.2003. u 09:20 GMT]
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

dotnet
Beograd

Član broj: 4344
Poruke: 112
*.ptt.yu

Jabber: dotnet@elitesecurity.org


Profil

icon Re: vb.net, for, mssql stored proc13.05.2003. u 01:51 - pre 254 meseci
Pozdrav

Sad ne znam ni ja sta se desava:).
Napravio sam skoro identican primer, znaci struct sa 7 propertija, od kojih su dva niz sa po 10 elemenata, citam XML file sa 2700 zapisa, generisem struct i pozivam funkciju koja vrsi upis ovih podataka i sve to se izvrsi za 13-14 sec(27.000 upisa).

Sto se verzije .NET tice u pitanju je 1.0.3705 sa SP2, MS SQL 2000 SP3.

Probaj da SqlCommand i Parametre definises van petlje, tj samo jednom a kasnije menjas samo Value parametra i Prepare ukljuci samo pri prvom pozivu Stored Procedure.
dotnet
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: vb.net, for, mssql stored proc13.05.2003. u 09:47 - pre 254 meseci
Ja sam minimalno izmenio tvoj primer - nisam koristio deo .transaction i rucno sam generisao niz koji upisujem (niz 5000 struktura - polja su string i single, popunjena nekim bezveznim vrednostima) pre ulaska u Try-Catch-Finally. Kod SP na SQL Serveru je potpuno isti. Tabela u koju sam upisivao podatke je samostalna, tj. nije u nikakvom parent-child odnosu sa nekom drugom tabelom (sve ovo da bih se postedeo dodatnog posla :-).

5000 struktura upise za oko 15 sec na prilicno slaboj masini - celeron 488 MHz, 384 MB RAM koja tera Win 2K Server sp3, SQL Server 2000 sp3 i VS.NET uz .NET sp2. Sve u svemu, baza je na localhost-u koji nije nista narocito, cak kao sto vidis radi se o slabijoj masini.

Pokusaj i ti ovako bez transakcija - da pozivas onu SP koja upisuje podatke u neku 'samostalnu' tabelu i uporedi vreme.

Nevezano za ovaj problem sporosti kod tebe, koristi Catch ex As SqlException - uvek treba ograniciti catch sto je vise moguce - po svaku cenu izbegavaj hvatanje svih gresaka.

The problem is, Visual Studio .NET 2003 adds the catch all “Catch ex As Exception”.
Last I checked, you’re never supposed to catch “Exception” like this. Not only will you catch all the exceptions your code could ever possibly generate, but you will also catch exceptions from the garbage collector, the core runtimes, and a lot of other places you should not be catching exceptions from. (Or, rather, catching exceptions and swallowing them.) Microsoft should have, at most, filled in something like “Catch ex as ApplicationException”, but even that makes me uncomfortable. In my opinion, this feature only encourages sloppy programming.


Ovo, naravno, vredi i za VS.NET 1.0.
Commercial-Free !!!
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.13.EUnet.yu



Profil

icon Re: vb.net, for, mssql stored proc13.05.2003. u 13:11 - pre 254 meseci
moja greska, momci.

zapravo, tabela u kojiu sam upisivao podatke imala je trigger koji je radio dalje upise (bez trigera se ista operacija desava za 5 sec,nadam se da ccu ga optimizovati nekako).

izvinite sto sam cimao i hvala jos jednom. bas sam glup. j..., nisam ja radio aplikaciju, a tim je raspusten(citaj na trudnickom). nisam primetio trigger na toj tabeli, a naravno dokumentaciju nemam, vecc sam provaljujem.
sad znam cemu to sluzi(dokumentacija)...

jos jednom zahvaljujem i ako treba neka pomocc, uvek sam tu.

degojs, hvala za Exception upozorenje, gde da pronadjem sve exception naslednike (probao sam u msdn-u ali nisam nasao sve na jednom mestu, malo su rasute)? radio sam ovako jer sam zurio, a mrzelo me je da trazim svaki izuzetak posebno.

NIKAD ne prelazi sa jave u VB. teske muke

VelikiPozdrav
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

dotnet
Beograd

Član broj: 4344
Poruke: 112
*.ptt.yu

Jabber: dotnet@elitesecurity.org


Profil

icon Re: vb.net, for, mssql stored proc13.05.2003. u 15:10 - pre 254 meseci
Pozdrav

Na http://www.precise.com/eBook/SQL/ imas free knjigu vezanu za optimizaciju MS SQL Servera The Definitive Guide to SQL Server Performance Optimization. Izmedju ostalog ima jedan kratak deo zasto izbegavati trigger.
dotnet
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.12.EUnet.yu



Profil

icon Re: vb.net, for, mssql stored proc14.05.2003. u 14:25 - pre 254 meseci
hvala za knjigu, bas mi j etrabelo nesto tako. imam nesto papirno, ali iz 1998. god, pa nije bas najzanimljivija...

sto se tice mog triggera nisam nista novo uradio, jer mesta za optimizaciju nema, osim...ma mrzi me...

ma ok. uradiccu vecc nesto. prebaciccu ga na proceduru, verovatno.

hvala na pomocci.

moderatoru, zbaci ovaj src sa strane, molim te..

pozdravc
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: vb.net, for, mssql stored proc

[ Pregleda: 3345 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.