public void LogEtlCounter(EtlCounter counter) { if (counter == null) { throw new ArgumentNullException("counter"); } var logDateTime = DateTime.Now; var sb = new StringBuilder(); sb.Append("update "); sb.Append(_schemaToken); sb.Append("[EtlCounters] set "); sb.Append("[CounterValue] = @val, "); sb.Append("[LogDateTime] = @dt, "); sb.Append("[LogUtcDateTime] = @udt "); sb.Append("where "); sb.Append("([EtlPackageId] = @pid) and "); sb.Append("([EtlSessionId] = @sid) and "); sb.Append("([EntityName] = @ent) and "); sb.Append("([CounterName] = @name) "); sb.Append("if (@@ROWCOUNT = 0) "); sb.Append("insert into "); sb.Append(_schemaToken); sb.Append("[EtlCounters]([EtlPackageId], [EtlSessionId], [EntityName], [CounterName], [CounterValue], [LogDateTime], [LogUtcDateTime]) "); sb.Append("values (@pid, @sid, @ent, @name, @val, @dt, @udt)"); var sql = sb.ToString(); using (var conn = CreateConnection()) { conn.Open(); var now = DateTime.Now; var cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = sql; AddParameter(cmd, "@pid", counter.EtlPackageId); AddParameter(cmd, "@sid", counter.EtlSessionId); AddParameter(cmd, "@dt", counter.DateTime); AddParameter(cmd, "@udt", counter.UtcDateTime); AddParameter(cmd, "@ent", counter.EntityName); AddParameter(cmd, "@name", counter.CounterName); AddParameter(cmd, "@val", counter.CounterValue); cmd.ExecuteNonQuery(); } }
private List <EtlCounter> SelectEtlCounters(string etlPackageId, string etlSessionId) { const string sql = @"select sv.[EntityName], sv.[CounterName], sv.[CounterValue], sv.[LogDateTime], sv.[LogUtcDateTime] from {0}[EtlCounters] sv with (nolock) where sv.[EtlPackageId] = @EtlPackageId and sv.[EtlSessionId] = @EtlSessionId "; var counters = new List <EtlCounter>(); using (var conn = CreateConnection()) { conn.Open(); var cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = string.Format(sql, _schemaToken); cmd.Parameters.AddWithValue("@EtlPackageId", etlPackageId); cmd.Parameters.AddWithValue("@EtlSessionId", etlSessionId); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var es = new EtlCounter { EtlPackageId = etlPackageId, EtlSessionId = etlSessionId, EntityName = EtlValueConverter.ToString(reader["EntityName"]), CounterName = EtlValueConverter.ToString(reader["CounterName"]), CounterValue = EtlValueConverter.ParseInt64(reader["CounterValue"]), DateTime = EtlValueConverter.ParseDateTime(reader["LogDateTime"]), UtcDateTime = EtlValueConverter.ParseDateTime(reader["LogUtcDateTime"]), }; counters.Add(es); } } } return(counters); }
public void LogEtlCounter(EtlCounter counter) { }
private List<EtlCounter> SelectEtlCounters(string etlPackageId, string etlSessionId) { const string sql = @"select sv.[EntityName], sv.[CounterName], sv.[CounterValue], sv.[LogDateTime], sv.[LogUtcDateTime] from {0}[EtlCounters] sv with (nolock) where sv.[EtlPackageId] = @EtlPackageId and sv.[EtlSessionId] = @EtlSessionId "; var counters = new List<EtlCounter>(); using (var conn = CreateConnection()) { conn.Open(); var cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = string.Format(sql, _schemaToken); cmd.Parameters.AddWithValue("@EtlPackageId", etlPackageId); cmd.Parameters.AddWithValue("@EtlSessionId", etlSessionId); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var es = new EtlCounter { EtlPackageId = etlPackageId, EtlSessionId = etlSessionId, EntityName = EtlValueConverter.ToString(reader["EntityName"]), CounterName = EtlValueConverter.ToString(reader["CounterName"]), CounterValue = EtlValueConverter.ParseInt64(reader["CounterValue"]), DateTime = EtlValueConverter.ParseDateTime(reader["LogDateTime"]), UtcDateTime = EtlValueConverter.ParseDateTime(reader["LogUtcDateTime"]), }; counters.Add(es); } } } return counters; }