#c# #sql #sql-server #ssis #etl
#c# #sql #sql-сервер #ssis #etl
Вопрос:
Я пытаюсь запросить базу данных и отправить содержимое в теле письма. Содержание-это порядок и детали для каждого пользователя. Я пытаюсь вызвать задачу сценария для составления текста, и я использую содержимое в задаче отправки электронной почты. Когда я пытаюсь запустить пакет, он выполняется без ошибок, но ниже указано, что я вижу в своем электронном письме
Execute SQL task output sent using Send Email Task in SSIS: Customer Num Rec Loc Strain StrainCode Age Sex Genotype Sent From Quantity Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable Microsoft.SqlServer.Dts.Runtime.Variable
Ниже приведен сценарий
namespace ST_c074d0acfee7488b96d42a0f858efee7 { [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute] public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase { #region VSTA generated code enum ScriptResults { Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success, Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure }; #endregion public void Main() { string header = string.Empty; string message = string.Empty; header = "Execute SQL task output sent using Send Email Task in SSIS:nn"; header = string.Format("{0}t{1}t{2}t{3}t{4}t{5}t{6}t{7}t{8}n", "Customer Num", "Rec Loc", "Strain", "StrainCode", "Age", "Sex", "Genotype", "Sent From", "Quantity"); message = string.Format("{0}t{1}t{2}t{3}t{4}t{5}t{6}t{7}t{8}", Dts.Variables["User::CustomerNumber"].ToString(), Dts.Variables["User::ReceivingLocation"].ToString(), Dts.Variables["User::StrainName"].ToString(), Dts.Variables["User::StrainCode"].ToString(), Dts.Variables["User::Age"].ToString(), Dts.Variables["User::Sex"].ToString(), Dts.Variables["User::Genotype"].ToString(), Dts.Variables["User::SentFrom"].ToString(), Dts.Variables["User::OrderQuantity"].ToString()); Dts.Variables["User::EmailMessage"].Value= header message; Dts.TaskResult = (int)ScriptResults.Success; } } }
Ниже приведен пакет
И в свойства задачи скрипта я передаю все необходимые данные, как показано ниже
и запрос, чтобы получить все данные
И в цикле For я выполняю сопоставление
Может ли кто-нибудь, пожалуйста, подсказать мне, чего мне здесь не хватает и почему в моей электронной почте нет реальных данных
Ответ №1:
Я нашел проблему, которую мне нужно было решить
Dts.Variables["User::Age"].Value.ToString(),
Вместо
Dts.Variables["User::Age"].ToString(),