Hey Guys Recently we were editing some of our custom SQL Reports and we were greeted with this lovely error message;
I'm not sure what the cause could be? Any suggestions? a few searches on Google pointed to a temp cache corruption.
System.InvalidCastException: Invalid cast from 'Int32' to 'DateTime'. at
System.Int32.System.IConvertible.ToDateTime(IFormatProvider provider) at System.Convert.ToDateTime(Object value) at
SolarWinds.Orion.Web.Reporting.OrionReportField.b__5(Object o) at
SolarWinds.Orion.Web.Reporting.OrionReportField.ParseValue(Object value) at
SolarWinds.Orion.Web.Reporting.OrionReportHtmlFormatter.GetReport() at
SolarWinds.Orion.Web.Reporting.ReportRunner.WorkerProc(Object state)
Our SQL Code
SELECT
StartTime.EventTime,
(SELECT TOP 1
EventTime
FROM Events AS Endtime
WHERE EndTime.EventTime > StartTime.EventTime
AND EndTime.EventType = 5
AND EndTime.NetObjectType = 'N'
AND EndTime.NetworkNode = StartTime.NetworkNode
ORDER BY EndTime.EventTime) AS UpEventTime,
Nodes.Caption, StartTime.Message, DATEDIFF(Mi, StartTime.EventTime,(SELECT TOP 1 EventTime FROM Events AS Endtime
WHERE EndTime.EventTime > StartTime.EventTime AND EndTime.EventType = 5 AND EndTime.NetObjectType = 'N'
AND EndTime.NetworkNode = StartTime.NetworkNode ORDER BY EndTime.EventTime)) AS OutageDurationInMinutes
FROM Events StartTime INNER JOIN Nodes ON StartTime.NetworkNode = Nodes.NodeID
WHERE (StartTime.EventType = 1)
ORDER BY eventtime desc
Thanks,
Mike