Visual Basic-Unterdrückung Fehlermeldung
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
anzahl
auftritt
auszug
befehl
code
datum
fehler
host
kennen
message
option
programm
sekunde
server
system
text
treiber
url
versenden
wasser
-
Ich habe ein Visual Basic Programm geschrieben um automatisch, alle Stunden, Daten zu einer MySQL Datenbank zusenden. Wenn jetzt aus irgendeinen Grund (Internetverbindung unterbrochen,...) die Verbindung nicht klappt, erhalte ich folgende Meldung:
ERROR[HY000][MySQL][ODBC 5.1 Driver]Unknown MySQL server host'.....
ERROR[HY000][MySQL][ODBC 5.1 Driver]Unknown MySQL server host'.....
solange ich die Meldung nicht mit OK bestätige werden keine weiteren Daten mehr gesendet.
Dazu meine Frage: Kann man diesen Fehler unterdrücken bzw. ignorieren?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst einfach nachschauen, in welchem Programmabschnitt das auftritt, und den Fehler entsprechend abfangen. Da wir den Befehl nicht kennen, bei dem das auftritt, kann man natürlich nicht sagen, wie das am besten sein soll. Möglicherweise gibt der Befehl einen Rückgabewert zurück, der auswertbar ist. Ansonsten musst du vermutlich die Exception abfangen.
-
Hallo reith,
soweit ich mich entsinnen kann, gibt der ODBC-Treiber genau dann eigene Fehlermeldungen aus, wenn er kein Handle zu einem Fenster hat, zu dem er im Fehlerfall Nachrichten versenden kann.
Da Du aber mit VB arbeitest gehe ich davon aus, dass Du nicht direkt mit dem ODBC-Treiber arbeitest.
Von daher wäre es nicht schlecht, wenn Du kurz den Code-Auszug zum Verbindungsaufbau posten würdest (natürlich mit verfremdeten Zugangsdaten), damit man sehen kann, welchen Objekte im Spiel sind. -
Ich bin leider noch ein "Brustschwimmer" in der Visual Basic Programmierung daher kann ich deine Antwort leider nicht verstehen. Das wäre mein Code zur Datenbankanbindung
Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick Dim con As New Odbc.OdbcConnection Dim cmd As New Odbc.OdbcCommand Dim anzahl As Integer con.ConnectionString = "Provider=MSDASQL;" _ & "Driver={MySQL ODBC 5.1 Driver};" _ & "Server=xxx;UID=xx;password=xxx;" _ & "database=wasser" cmd.Connection = con cmd.CommandText = "insert * from daten" Try con.Open() cmd.CommandText = _ "insert into daten" & _ "(Label4, Label5, Label6, Label7, TextBox1) " & _ "values ('" & _ Label4.Text & "', '" & _ Label5.Text & "', '" & _ Label6.Text & "', '" & _ Label7.Text & "', '" & _ TextBox1.Text & "')" anzahl = cmd.ExecuteNonQuery() If anzahl > 1 Then MsgBox("Daten angefügt") End If Catch ex As Exception MsgBox(ex.Message) End Try con.Close() End Sub
Seht ihr einen offensichtlichen Blödsinn? -
Hallo reith,
offensichtlicher Blödsinn ist da keiner drin. Aber Du kannst es ja mal mit folgendem Connection-String versuchen:
Die '16' ist der Wert für die Option 'FLAG_NO_PROMPT'.con.ConnectionString = "Provider=MSDASQL;" _ & "option=16;" _ & "Driver={MySQL ODBC 5.1 Driver};" _ & "Server=xxx;UID=xx;password=xxx;" _ & "database=wasser"
Das kannst Du auch hier nachlesen:
http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-connection-parameters.html
Ich hoffe mal, dass damit Ruhe ist.
Edit: Ich habe doch Blödsinn gefunden. Die Zeile
ist falsches SQL und vollkommen überflüssigcmd.CommandText = "insert * from daten"
Beitrag zuletzt geändert: 18.3.2012 21:59:21 von darkpandemic -
Danke für die Tipps, sie haben aber leider nicht geholfen. Ich habe jetzt versucht
Catch ex As Exception ' MsgBox(ex.Message)
die MsgBox(ex.Message) zu löschen. Das Programm steht zwar für ein paar Sekunden, aber es funtioniert. Ich fürchte, dass das nicht seher sauber ist, aber für meine Zwecke reicht es.
Herzlichen Dank für die Denkanstösse! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage