Sto scrivendo un applicativo per sincronizzare due database: uno locale ed uno remoto; quello locale è un db MSSQL, l'altro è un db MySQL. Per far ciò ho utilizzato il connector di mysql e devo dire che il programma funziona (per ora ho implementato solo la connessione al database remoto) se non fosse per un piccolo dettaglio:
essendo il database remoto, ho necessità di monitorare anche se il dbms è attivo oppure no e quindi visualizzare lo stato di suddetto dbms nella finestra dell'applicazione (sostanzialmente si tratta di un messaggio "Connesso" oppure "Dbms non raggiungibile") solo che se il dbms risulta irraggiungibile il controllo errori viene ignorato e viene generata un'eccezione a runtime.
Il codice che ho al momento implementato è il seguente:
ed a runtime genera la seguente eccezione (riporto solo le prime righe):codice:Dim myConnectionString As String myConnectionString = "server=127.0.0.1;" _ & "uid=a;" _ & "pwd=a;" _ & "database=b;" Try Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString) conn.Open() Catch ex As MySql.Data.MySqlClient.MySqlException Select Case ex.Number Case 0 LabelStateRemote.Text = "DB Remoto - Errore di connessione" Case 1045 LabelStateRemote.Text = "DB Remoto - Dati di connessione errati" End Select End Try
sapete aiutarmi?codice:Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra sono riportate in fondo al messaggio. ************** Testo dell'eccezione ************** System.Net.Sockets.SocketException: Socket non connesso e indirizzo non fornito durante l'invio su un socket di datagramma che utilizza una chiamata sendto. Richiesta di invio o ricezione di dati annullata at System.Net.Sockets.Socket.Shutdown(SocketShutdown how) at MySql.Data.Common.SocketStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.IO.BufferedStream.ReadByte() at MySql.Data.MySqlClient.PacketReader.ReadHeader() at MySql.Data.MySqlClient.PacketReader.OpenPacket() at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionString settings) at MySql.Data.MySqlClient.MySqlConnection.Open()


