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

Ne zatvara mi konekciju ? ... hmmm

[es] :: .NET :: Ne zatvara mi konekciju ? ... hmmm

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 21:57 - pre 180 meseci
Imam sledeci problem: aplikacija pisana u C# (VS .2005) .. sve radi ok, ali imam problem prilikom otvaranja Crystal reportsa. . naime, ostaje mi otvorena konekcija, iako sam u kodu naveo da se konekcija zatvori.

ako neko zna, gde je problem u sledecem kodu, 100 x thanks !!!!
***************************************************

public void OdstampajSistematizaciju(string KonekcioniString)
{
try
{
conn.ConnectionString = KonekcioniString;
conn.Open();

SqlCommand cmd = new SqlCommand("SistematizacijaRadnihMestaCreate", conn);
cmd.CommandType = CommandType.StoredProcedure;

DataSet ds = new DataSet();

SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(ds, "SistematizacijaRadnihMestaCreate");

SistematizacijaRadnihMestaReport report = new SistematizacijaRadnihMestaReport();
report.SetDataSource(ds);

crystalReportViewer1.ReportSource = report;
conn.Close();
}
catch (Exception ex)
{
logger.Error(ex);
MessageBox.Show("Greška pri otvaranju Izvestaja!", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
77.46.188.*



+987 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 22:11 - pre 180 meseci
Mozda ti ispali izuzetak pre nego sto dodje do conn.Close().

Prebaci ga u blok finaly.

Tj.

Code:


finaly{
if(conn.State!=ConnectionState.Closed) conn.Close();
}


A i bilo bi dobro da postavis breakpoint na pocetku metode, pa sa F11 lepo prodjes kroz metod i f-je koje poziva. Meni se desavalo da jedan takav metod ispali 5-6 eventa koji koriste istu konekciju i naprave haos. A naizgled naivan metod...
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
91.148.85.*

ICQ: 20785904


+4 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 22:12 - pre 180 meseci
nevezano za tvoje pitanje, ukoliko se desi da ti kod baci exception, konekcija ce ostati da ti visi, pa je zgodno da koristis using(konekcija = bla bla){}
ili da imas i finally blok u kom ces zatvaras konekciju.

A sto se tice tvog problema, kolko me secanje sluzi, kad koristis adapter, onda uopste ne treba da otvaras/zatvaras konekciju. adapter sam brine o tome, i verovatno nije preterano efikasan u smislu da zatvori konekciju tacno onda kad ti ocekujes to...
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 22:54 - pre 180 meseci
@Igore: dodao sam i finally blok. I postavio break-point na pocetku metode .. izvrsenje lepo ide kroz svaku liniju koda.
i na kraju dodjed do finally bloka. Kada stavim mouse iznad ConnectionState u liniji" if(conn.State!=ConnectionState.Closed) conn.Close();",

.net mi pokaze stanje "Closed" (pogledaj u slici koju sam prikacio).

@Sale: probao sam da remujem linije za otvaranje i zatvaranje konekcije, ali mi onda ne otvara konekciju ?

Sve u svemu, hvala vam puno na savetima, ali i dalje ostaje otvorena konekcija ??

pozdrav
Prikačeni fajlovi
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
77.46.188.*



+987 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 23:04 - pre 180 meseci
Pa ConnectionState.Closed je konstanta i to je njena vrednost...

Postavi kursor iznad conn.State i vidi koje je stanje konekcije... Tj. to je pravo stanje konekcije.


I jos jedno.

Probaj da sa F11 udjes u ovaj konstruktor:

Code:

SistematizacijaRadnihMestaReport report = new SistematizacijaRadnihMestaReport();


i vidi sta ti se tamo desava sa konekcijom...
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-3.sezampro.yu.



+1 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 23:16 - pre 180 meseci
Da, u pravu si... vec prosla ponoc, pa mi koncentracija sve slabija.

anyhow, rezultat je isti. pogledaj sliku koju sam upload-ovao.

sve nesto razmisljam ,da mozda Cristal reports ne zatvara konekciju negde u svom enginu ?

naime, i kad zatvorim report, konekcija i dalje ostaje ?

Prikačeni fajlovi
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
77.46.188.*



+987 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 23:25 - pre 180 meseci
Mislim da bi trebao malo da odspavas. Slika prikazuje da je konekcija sasvim normalno zatvorena.... Nema greske u kodu.

Dodaj watch conn.State i gledaj kako se menja kroz f-ju i sve ce ti biti jasno.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 23:32 - pre 180 meseci
da .. ali zasto se onda vidi konekcija u Activity Monitoru na MS SQL-u ?

mislim da je salle takodjer u pravu, moram da vidim da mozda DataAdapter ne pravi neku brljotinu.

u svakom slucaju, hvala za pomoc obojici !!
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm01.06.2009. u 23:41 - pre 180 meseci
Ne vredi, nisam mogao da odem na spavanje dok ne proverim ovo sto si predlozio sa Watch.

evo obe slike. Prva slika kada se otvara konekcija, i druga nakon sto sam prosao Conn.Close ..

Watch pokazuje da je konekcija uredno zatvorena (slike Watch1 i 2), ali ActivityMonitor i dalje pokazuje 2 konekcije (slika).

Prikačeni fajlovi
 
Odgovor na temu

bookmaker
Aleksandar
Kragujevac

Član broj: 41754
Poruke: 19
147.91.204.*



+1 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm05.06.2009. u 10:27 - pre 180 meseci
A da probaš ovako:
Code:

finally
{
if(conn != null)
{
conn.Close();
}
}
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.ptt.rs.



+395 Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm05.06.2009. u 12:21 - pre 180 meseci
Citat:
KizaBG: Ne vredi, nisam mogao da odem na spavanje dok ne proverim ovo sto si predlozio sa Watch.

evo obe slike. Prva slika kada se otvara konekcija, i druga nakon sto sam prosao Conn.Close ..

Watch pokazuje da je konekcija uredno zatvorena (slike Watch1 i 2), ali ActivityMonitor i dalje pokazuje 2 konekcije (slika).


Pa u tom slucaju SQL server koristi connection pooling ..
Posto je otvaranje konekcija poprilicno skup proces na serveru koristi se pooling metod ako je konekcioni string isti .
Tako da ce proces na SQL serveru ostati ziv iako si zatvorio konekciju on ostaje i ceka na novi "open" iz tvoje aplikacije
ili bilo kog klijenta koji se kaci sa istim konekcionim stringom .

Tako da nemas razloga za brigu.
Uradi to skolski sa using -try- catch - finnaly statement-om i nastavi dalje/

Viva lollapalooza
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
79.101.156.*

Jabber: DarkMan


Profil

icon Re: Ne zatvara mi konekciju ? ... hmmm05.06.2009. u 12:36 - pre 180 meseci
Mislim da se to desava zbog connection pool-inga. Konekcije se ne zatvaraju u potpunosti da bi sledeca konekcija bila brze uspostavljena.
Pogledaj sledecu stranu:
http://www.c-sharpcorner.com/U...62006093645AM/ConnPooling.aspx
Probaj da dodas "Pooling=false" u connection string pa vidi da li ce ti se konekcije zatvarati.

Edit: sada sam video da je deerbeer naveo isti razlog
 
Odgovor na temu

[es] :: .NET :: Ne zatvara mi konekciju ? ... hmmm

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

Postavi temu Odgovori

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