Skip to main content

Custom email notification using Send Mail Task in SSIS

Let’s say your manager wants you to send summary information of the package (not just a one line message) that you’re running or even if there’s an error occurred during the package run. What will you do? I’m sure BI Express is a good option for this task, also you can create your custom message string and send it through send mail task and execute sql task by passing variable value.


I want to see summary of the package run in email msg, please include following information:

1) Package Start Time
2) Package Completed with Success/Failure
3) Look up Match Records
4) Look up Not Match Records
5) Package End Time

You can use the execute sql task in your package and create custom string using the sql code. After this step store the result set value as a single row and use the variable (SendMail)

 
SELECT 'SSIS Started: ' + CAST(? AS VARCHAR(50))
 + char(10) + char(13)
 + 'Package Completed Succssfully'
 + char(10) + char(13)
 + 'Lookup Match Records: ' + CAST(? AS VARCHAR(10)) 
 + char(10) + char(13)
 + 'Lookup NotMatch Records: ' + CAST(? AS VARCHAR(10))
 + char(10) + char(13)
 + 'SSIS Completed: ' + CONVERT(varchar(20), getdate(), 120)
Make sure, you use the correct parameter mapping for the (?) you use in your sql code(Step by step).

Once you're successfully created execute sql task then right click and run it to make sure, you're not getting errors. At this stage, you already got your custom message string created and store in a variable(Send Mail) value.

Next step, Use Send Mail task and pass that variable value as a message source here:
 You've successfully created your custom message using execute sql task and send it through Send Mail task to the email address you want.

You can also create the same logic for the error handling (when you want to send an error message notification with detail error message using event handler)

Create an on error event handler and use the execute sql task and send mail task there.
Write a sql code and store the result set as a single row (Error) variable
SELECT 'Package Name: ' + ?
 + char(10) + char(13)
 + 'Error Code: ' + ?
 + char(10) + char(13)
 + 'Error: ' + ?

Make sure you use the correct parameter mapping in the execute sql task. (You can add more information here as well as in sql code if you want). This is just an example. After this step simple use the send mail task and pass the variable(Error) value as a message source.
Hope, this information will be helpful to you.
Thanks for vising my blog.

Comments

Popular posts from this blog

ALL as a parameter value in ssrs oracle sql

In some cases as per the requirements you will need to add 'ALL' as an independent parameter value (not a multivalue parameter) 1) Create a new dataset to populate parameter values Ex: select distinct city from table1 where city is not null        union       select 'ALL' as city from dual       order by 1 2) Modify your main dataset query Ex: where (city = :city or 'ALL' = :city) Thank you

_x003C_none_x003E_ FlatFile Error in SSIS

If you are receiving this error in your output file, It is because of the value in the text qualifier property (Text Qualifier = <none>).  When you export the data in a file, you might see the _x003C_none_x003E_ (x003C = "<" and none and x003E = ">") with your original field value. • Do not open the connection manager editor once you finalize everything and just clear out the <none> value  from the property window on the right side (Do not open show editor) and save it. You’re done. • Other way around, You can also define the Expression value for the text qualifier and provide (“”) as a value in the expression. Go to the property --> Expression --> Select the Text qualifier from the drop down list --> provide the expression value (“”)

Default values for a date parameter in SSRS

We can use sql queries or some of the cool expressions available in SSRS to set default date parameters: Set First Day of previous week (Monday) =DateAdd(DateInterval.Day, -6,DateAdd(DateInterval.Day, 1-Weekday(today),Today)) Set Last Day of previous week (Sunday) =DateAdd(DateInterval.Day, -0,DateAdd(DateInterval.Day, 1-Weekday(today),Today)) Set First Day of Current Week (Monday) =DateAdd("d", 1 - DatePart(DateInterval.WeekDay, Today(),FirstDayOfWeek.Monday), Today()) Set Last Day of Current Week (Sunday) =DateAdd("d" ,7- DatePart(DateInterval.WeekDay,Today(),FirstDayOfWeek.Monday),Today()) Set First Date of last month =DateAdd("m", -1, DateSerial(Year(Now()), Month(Now()), 1)) Set Last date of last month =DateAdd("d", -1, DateSerial(Year(Now()), Month(Now()), 1)) Set First date of current month =DateSerial(Year(Now()), Month(Now()), 1) Set Last date of current month =DateAdd("d",-1,(DateAdd("m", 1,...