Avatar billede agerbeck Nybegynder
27. november 2003 - 19:18 Der er 8 kommentarer og
1 løsning

Close connection til database

Hej,

Jeg har bygget videre på en shop-løsning baseret på IBuySpy. Shoppen benytter MySQL som database og ODBC som driver.

Shoppen er bygget op på samme måde som denne : www.wedonet.net/Default.aspx

Mit problem er nu, at jeg har en klasse der håndterer kommunikationen med databasen. F.eks. har jeg en funktion der hedder findvarer som laver en odbcconnection til databasen, henter nogle data og returner en odbcdatareader. Denne datareader lukker jeg så i min page klasse efter jeg har databind'et den til en datalist. Hvordan får jeg nu lukket den connection som jeg åbnede inde i min klasse som kommunikerer med databasen, inde fra en anden klasse?

Med venlig hilsen
Christian
Avatar billede burningice Nybegynder
27. november 2003 - 19:29 #1
sæt commandbehaviour på din reader til CloseConnection
Avatar billede agerbeck Nybegynder
27. november 2003 - 19:33 #2
Det har jeg skam gjort (troede egentlig også det var nok), men jeg får alligevel en fejl efter et stykke tid der siger:
ERROR [HY000] [MySQL][ODBC 3.51 Driver]Too many connections ERROR [HY000] [MySQL][ODBC 3.51 Driver]Too many connections
Avatar billede agerbeck Nybegynder
27. november 2003 - 19:35 #3
Altså det jeg gør er at jeg returnerer denne datareader i min funktion findvarer:
OdbcDataReader result = MyCmd.ExecuteReader(CommandBehavior.CloseConnection);

Men dette er åbenbart ikke nok.
Avatar billede arne_v Ekspert
27. november 2003 - 19:43 #4
Jeg aner intet om ASP.NET, men normalt skal man til professionelle
web løsninger bruge en connection pool i frobindelse med databaser.
Avatar billede burningice Nybegynder
27. november 2003 - 20:00 #5
agerbeck>> det var meget mystisk... hvis du har brugt den commandbehaviour, så skal den connection readeren benytter sig af også lukke når du lukker readeren.
Avatar billede agerbeck Nybegynder
27. november 2003 - 20:06 #6
Du havde fuldstændig ret, det viste sig at jeg ét enkelt andet sted i koden har glemt en connection.close(), det var åbenbart det der skabte overfloden af connections.
Avatar billede agerbeck Nybegynder
27. november 2003 - 20:10 #7
Nå det var en lettelse at det ikke var det jeg troede der skabte fejlen.
Cyberfessor> Vil du have nogle point for dine kommentarer, så læg et svar.
Avatar billede burningice Nybegynder
27. november 2003 - 20:14 #8
:) tjoo... et accepteret svar er da ikke så ringe endda... (point kan man jo ikke bruge til alverdens)
Avatar billede burningice Nybegynder
27. november 2003 - 20:14 #9
hov.. det var det svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester