Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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)
 {
 }
        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;
        }