Vi kör MySQL som databas och sista dagarna har vi fått felmeddelande om att databasen stängts pga för många felaktiga kopplingar till databasen. Sidan har legat uppe snart 14 dagar och det är de sista dagarna som detta har dykt upp. Det borde funka tycker jag nog oxå. Ett tips är emellertid att ladda ner ADO.NET providern .NET/Connector från MySql's hemsida och använda den istället. Har använt den nyligen i ett projekt. Denna använder .NET ramverket "core" och går inte över ODBC/OLEDB. Kanske felet kan ha något med ODBC-drivern att göra. Nån connection-pooling som inte släpps? Tyvärr så har jag ingen kontroll över MySQL servern.Koppla mot MySQL databas
I web.config så har vi detta:
<code>
<appSettings>
<add key="dbConnLocal" value="Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\databas\kga.mdb" />
<add key="dbConn" value="Driver={MySQL ODBC 3.51 Driver};;Server=mysql.gate9.se;Database=xxx-1;uid=xxx;pwd=xxx;option=3" />
</appSettings>
</code>
I en klass så har vi kod som kollar om man kör lokalt eller inte:
<code>
If InStr(HttpContext.Current.Request.Url.ToString, "localhost") > 0 Then
GetConnectionString = ConfigurationSettings.AppSettings("dbConnLocal")
Else
GetConnectionString = ConfigurationSettings.AppSettings("dbConn")
End If
</code>
Kopplingen anropar vi så här:
<code>
Dim strKoppla = GetConnectionString()
Public objConn As New OdbcConnection(strKoppla
</code>
Lokalt så fungerar det mot Access databasen, inga låsningar pga för många samtidiga anslutningar.
Jag har gått igenom koden och vi öppnar + stänger kopplingen lika många gånger.
objConn.Close() ska väl fungera även för MySQL eller vill den stänga kopplingen på något annat sätt?
Någon som har någon lösning på vad som kan vara fel?
//Anna-KarinSv: Koppla mot MySQL databas
Ett annat tips är att se över felhanteringen i databasanropen. Har du implementerat strukturerad felhantering med try/catch/finally? I så fall ligger objConn.Close i finally-blocket?
mvh,
AndersSv:Koppla mot MySQL databas
try/catch ska vi försöka få in i morgon, det är en controll som verkar strula mest.
Vi har funderat så långt som att sidan kanske tar för lång tid att ladda och då surfar folk vidare och mitt i så öppnas kopplingen till databasen och sen kanske inte stängs som den skall.
Servern vi ligger på är något svajig har vi märkt.
//Anna-Karin