--- dao/DaoMqPump2/DaoMqPump2/Transport.cs 2013/08/27 06:49:36 2057 +++ dao/DaoMqPump2/DaoMqPump2/Transport.cs 2013/08/28 06:45:20 2058 @@ -16,7 +16,8 @@ enum LogfileType { LogTransactions, - LogEvents + LogEvents, + LogDiscarded } public static string SQL2MQ = "sql2mq"; @@ -279,6 +280,19 @@ string msgString = mqMsg.ReadString(mqMsg.MessageLength); System.Console.WriteLine(msgString); + if ( msgString.StartsWith("?") ) //Hvis transaktionen starter med et ? er det ikke en gyldig transaktion + { + string discarded_filename = getLogFilename(LogfileType.LogDiscarded); + using (StreamWriter discardedlog = new StreamWriter(discarded_filename, true)) + { + discardedlog.WriteLine(msgString); + } + mqMgr.Commit();//fjern den afviste transaktion fra køen + statusData.discardedCounter++; + continue; //gå frem til at tage næste transaktion fra køen + } + + string sql = "CALL " + mq2sqlInsertQuery + "( '" + MySqlHelper.EscapeString(msgString) + "' )"; //opbygger en CALL somestoredprocedure('msgString'); sql streng MySqlCommand sqlcmd = new MySqlCommand(sql, sqlConnection); @@ -422,6 +436,9 @@ case LogfileType.LogTransactions: filename += "transactionlog_"; break; + case LogfileType.LogDiscarded: + filename += "discardedlog_"; + break; }