public EtlVariable[] GetVariables() { var variables = new EtlVariable[_variables.Count]; for (var i = 0; i < variables.Length; i++) { variables[i] = (EtlVariable)_variables[i].Clone(); } return(variables); }
private List <EtlVariable> SelectEtlVariables(string etlPackageId, string etlSessionId) { const string sql = @"select sv.[Name], sv.[Modifier], sv.[Value], sv.[LogDateTime], sv.[LogUtcDateTime], sv.[IsSecure] from {0}[EtlVariables] sv with (nolock) where sv.[EtlPackageId] = @EtlPackageId and sv.[EtlSessionId] = @EtlSessionId "; var variables = new List <EtlVariable>(); 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 EtlVariable { EtlPackageId = etlPackageId, EtlSessionId = etlSessionId, Name = EtlValueConverter.ToString(reader["Name"]), Modifier = (EtlVariableModifier)EtlValueConverter.ParseInt32(reader["Modifier"]), Value = EtlValueConverter.ToString(reader["Value"]), IsSecure = EtlValueConverter.ParseBoolean(reader["IsSecure"]), DateTime = EtlValueConverter.ParseDateTime(reader["LogDateTime"]), UtcDateTime = EtlValueConverter.ParseDateTime(reader["LogUtcDateTime"]), }; variables.Add(es); } } } return(variables); }
private EtlVariable EscapeVariable(EtlVariable variable) { if (variable == null) { return(null); } var escapedVariable = (EtlVariable)variable.Clone(); if (variable.IsSecure) { escapedVariable.Value = SECURE_VARIABLE_ESCAPED_VALUE; } return(escapedVariable); }
public void InitVariables(IEnumerable <EtlVariableInfo> variablesInfo, IEnumerable <EtlVariableAssignment> assignments) { _variables.Clear(); foreach (var variableInfo in variablesInfo) { var variable = new EtlVariable { EtlPackageId = this.EtlPackageId, EtlSessionId = this.EtlSessionId, Name = variableInfo.Name, Modifier = variableInfo.Modifier, IsSecure = variableInfo.IsSecure, DateTime = DateTime.Now, UtcDateTime = DateTime.Now.ToUniversalTime(), }; switch (variableInfo.Modifier) { case EtlVariableModifier.Bound: variable.Value = EvaluateBoundVariable(variableInfo); break; case EtlVariableModifier.Input: variable.Value = variableInfo.DefaultValue; break; case EtlVariableModifier.Output: variable.Value = variableInfo.DefaultValue; break; default: throw new InvalidOperationException(string.Format(Properties.Resources.UnknownVariableModifier, variableInfo.Name, variableInfo.Modifier)); } _variables.Add(variable); } foreach (var assignment in assignments) { AssignVariable(assignment, true); } }
public void LogEtlVariable(EtlVariable variable) { if (variable == null) { throw new ArgumentNullException("variable"); } var logDateTime = DateTime.Now; var sb = new StringBuilder(); sb.Append("insert into "); sb.Append(_schemaToken); sb.Append("[EtlVariables]"); sb.Append("([EtlPackageId], [EtlSessionId], [LogDateTime], [LogUtcDateTime], [Name], [Modifier], [Value], [IsSecure])"); sb.Append(" values "); sb.Append("(@pid, @sid, @dt, @udt, @name, @mod, @val, @sec)"); 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", variable.EtlPackageId); AddParameter(cmd, "@sid", variable.EtlSessionId); AddParameter(cmd, "@dt", variable.DateTime); AddParameter(cmd, "@udt", variable.UtcDateTime); AddParameter(cmd, "@name", variable.Name); AddParameter(cmd, "@mod", (int)variable.Modifier); AddParameter(cmd, "@val", variable.Value); AddParameter(cmd, "@sec", variable.IsSecure); cmd.ExecuteNonQuery(); } }
public void LogEtlVariable(EtlVariable variable) { }
private List<EtlVariable> SelectEtlVariables(string etlPackageId, string etlSessionId) { const string sql = @"select sv.[Name], sv.[Modifier], sv.[Value], sv.[LogDateTime], sv.[LogUtcDateTime], sv.[IsSecure] from {0}[EtlVariables] sv with (nolock) where sv.[EtlPackageId] = @EtlPackageId and sv.[EtlSessionId] = @EtlSessionId "; var variables = new List<EtlVariable>(); 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 EtlVariable { EtlPackageId = etlPackageId, EtlSessionId = etlSessionId, Name = EtlValueConverter.ToString(reader["Name"]), Modifier = (EtlVariableModifier)EtlValueConverter.ParseInt32(reader["Modifier"]), Value = EtlValueConverter.ToString(reader["Value"]), IsSecure = EtlValueConverter.ParseBoolean(reader["IsSecure"]), DateTime = EtlValueConverter.ParseDateTime(reader["LogDateTime"]), UtcDateTime = EtlValueConverter.ParseDateTime(reader["LogUtcDateTime"]), }; variables.Add(es); } } } return variables; }