Ich schrieb ein einfaches Programm, eine CSV-Datei LOAD DATA LOCAL..
mysql Ladedaten lokale Show Warnung von C#
loadFileSQL = "LOAD DATA...."
using (MySqlCommand cmd = new MySqlCommand(loadFileSQL, conn))
{
try
{
Console.WriteLine("Loading File....");
cmd.ExecuteNonQuery();
Console.WriteLine("Load file complete...");
}
catch (MySqlException ex)
{
Trace.WriteLine("MySQL Something went wrong" + ex.InnerException.Message);
}
...
}
mit laden würde Ich mag die Nachricht protokollieren, wie viele Zeilen eingefügt wurden, wie viele übersprungen und wie viele gescheiterte ..Wie nehme ich das ein? Wenn einige fehlgeschlagen sind, ist es möglich zu wissen, welche Zeilen fehlgeschlagen sind?
Verwenden Sie 'cmd.ExecuteScalar', um die Anzahl der betroffenen Zeilen zu erhalten. Sie erhalten nur Nummer, keine Details –
Ja, aber was ist mit wie viele übersprungen failed..etc ähnlich wie Sie sehen, wenn Sie die Ladedaten an einer mysql-Eingabeaufforderung ausführen – cableload
Sie können versuchen, einen Event-Handler für die MySqlConnection schreiben. InfoMessage-Ereignis Ich weiß nicht, ob es in deinem Kontext funktioniert, aber es ist einen Versuch wert. _InfoMessage (Objekt Absender, MySqlInfoMessageEventArgs e) _ dann schauen Sie sich die Fehler Sammlung von MySqlError. – Steve