C# problemi di connessione

venerdì 12 marzo 2010 - 17.22

Franto Profilo | Junior Member

Ciao ho un problema con le connessioni al database (MySQL), più precisamente è un problema di apertura connessione.

In un ciclo richiamo una procedura che fa la lettura del DB, quindi apro e chiudo più volte la connessione al DB.
Se seguo il codice da debug non ho problemi, se invece lancio l'elaborazione normalmente, il programma si blocca su questa istruzione:

vcConnection.Open()
dove vcConnection è la mia connessione Odbc con MySQL

e mi da questo errore:
ERROR [HYT00] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'localhost' (10048)

L'errore non è immediato ma si presenta random all'interno del ciclo.

In rete ho trovato persone con lo stesso errore e che hanno risolto aggiungendo delle chiavi di registro (MaxUserPort e TcpTimedWaitDelay), ma il problema mi si ripropone.

Avete idee in merito?

Grazie
--------------------------------------------------------------
Il destino è solo una giustificazione a ciò che è accaduto, che accade e che accadrà. Apriamo gli occhi e riprendiamoci la nostra vita.

Anonimo Profilo | Senior Member

ciao, in poche parole devi installare il connector odbc 3.51 che si trova sul sito di mysql.

Buona serata.

Franto Profilo | Junior Member

Ho già installato il connector .NET.
La comunicazione con il DB funziona benissimo all'interno del mio programma, sono in questo specifico caso mi da l'errore.
Sembra che il fatto di aprire e chiudere a ripetizione le connessioni db, mandi in crisi tutto...
--------------------------------------------------------------
Il destino è solo una giustificazione a ciò che è accaduto, che accade e che accadrà. Apriamo gli occhi e riprendiamoci la nostra vita.

Anonimo Profilo | Senior Member

non devi usare il connector .net che è un'altra cosa , ma devi usare questo se usi gli odbc:

http://dev.mysql.com/downloads/connector/odbc/3.51.html

Anonimo Profilo | Senior Member

ha un'altra cosa , percaso la tua applicazione si collega al db remoto...

Se si , devo attivare un'utente al db che può essere visto da remoto.

Non chiedermelo come si fa , perchè non lo so nemmeno io.

Io ho sempre usato root - root

Franto Profilo | Junior Member

Ciao, no per ora il db è in locale (root).
Comunque ti confermo che il problema non è sul connector ODBC, ma sulla gestione delle connessioni da parte del sistema operativo che in qualche modo limita il numero di connessioni.
Le due chiavi di registro che ho segnalato prima forzano esplicitamente i tempi e i limiti di connessione, ma in qualche modo ho sempre il problema.

Ora sto testando la cancellazione e ricreazione delle chiavi ogni volta che lancio il programma.
--------------------------------------------------------------
Il destino è solo una giustificazione a ciò che è accaduto, che accade e che accadrà. Apriamo gli occhi e riprendiamoci la nostra vita.

Anonimo Profilo | Senior Member

ciao, ha ok,
ti posto la stringa di connessione che uso io, solo che la uso per il web:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

vedi se ti funziona , ha una cosa, copia solo la stringa che e inclusa negli apici " ".

Ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5