У меня есть задача отправить результат запроса по электронной почте, используя SSIS 2017. Я ссылался на предыдущие сообщения, связанные с этим, но я не могу получить требуемый ответ. Вот что я сделал до сих пор: 1. Создайте управляющую задачу sql с моим запросом и набором результатов, которая ссылается на переменную типа объекта 2. Создайте контейнер foreach 3. Поместите задачу скрипта в foreach l oop (i Я думаю, что моя проблема связана с этой задачей) и поместил переменную как переменную только для чтения. 4. Отправить задачу электронной почты с bodytext в качестве переменной
Мой набор результатов - это всего один столбец из таблицы.
Я ссылался на этот URL: Как отправить записи из таблицы в теле сообщения электронной почты с использованием пакета служб SSIS?
и, пожалуйста, найдите прикрепленный код задачи скрипта.
Будет было бы здорово, если бы вы, ребята, могли бы помочь мне
/*Microsoft SQL Server Integration Services Script Task
Write scripts using Microsoft Visual C# 2008.
The ScriptMain is the entry point class of the script.
*/
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
namespace ST_8015f41e93944f0e944089c73b520312
{
[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()
{
Variables varCollection = null;
string header = string.Empty;
string message = string.Empty;
Dts.VariableDispenser.LockForWrite("User::EmailMessage");
Dts.VariableDispenser.LockForWrite("User::Result");
Dts.VariableDispenser.GetVariables(ref varCollection);
//Set the header message for the query result
if (varCollection["User::EmailMessage"].Value == string.Empty)
{
header = "Execute SQL task output sent using Send Email Task in SSIS:\n\n";
header += string.Format("{0}\n", "Result");
//varCollection["User::EmailMessage"].Value = header;
}
//Format the query result with tab delimiters
message = string.Format("{0}",
varCollection["User::Result"].Value);
varCollection["User::EmailMessage"].Value = varCollection["User::EmailMessage"].Value + message;
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}