Jag kör en Webservice och en databas (MySQL) på en server. På en annan dator kör jag klienten som anropar webservicen och databasen. Hade varit bra om du skrev vilket språk, men jag får gissa på C# så länge? Hej André. Nej det verkar inte finnas något att göra åt problemet på kodsidan ivf som jag förstår det.ERROR 1040 "To many Connections"
Jag har utvecklat klient, webservice och designat upp databasen under en kort tid varför jag mestadels utvecklat för att få igång funktionaliteten. Jag har tänkt att köra en "Refactoring" av källkoden för att stabilisea systemet så fort jag ser att funktioanliteten finns där och fungerar som den skall.
Nu har jag stött på problemet "To many Connections" till databasen. Min första tanke/fråga blir då.. varför släpper inte connectionobjektet resursen tillbaks till databasen sedan den körts? Jag stänger ju det enligt konstens alla regler. Efter X.Open(); och diverse SQLkörningar kör jag X.Close(); och X.Dispose();
Eller är det databasen som oavsett hur koden är skriven inte släpper tillbaks kopplingarna?
Jag vet att man kan öka på antalet kopplingar men det är inte det jag är ute efter utan finns det något jag kan göra så att öppnade kopplingar stängs igen?Sv: ERROR 1040 "To many Connections"
Är du säker på att dina Close och Dispose alltid körs? En eventuell exception kan lätt förhindra det. Med bra kod ska du inte behöva anropa Close utan då använder du using istället. Alternativt try/catch med Close i finally.Sv:ERROR 1040 "To many Connections"
C# är rätt.
Jag kör en del exceptions och som du säger... körs exception så kanske objektet inte stänger som det är tänkt i alla lägen. Jag får kolla av det och kanske även gå över till using för att se om det hjälper. Tack så länge.Sv: ERROR 1040 "To many Connections"
Begränsningarna ligger tydligen i databasserverns konfiguration för antalet samtida connections. Det är bara att öka antalet connections till ett antal som överenstämmer med den trafik databasen belastas med. Varje connection självdör efter en tid och blir då ledig för nya uppdrag. Frågan är hur länge varje connection lever innan den självdör och återgår till att serva nya frågor igen?
Grejjen verkar alltså vara att ha rätt balans mellan antalet frågor/trafik till db och antalet möliga samtida connections.