Mail sending is failed in script task in ssis
Hi guys,
I have an issue in ssis script task. I have a script which sends the mail after completion of ETL.
It is giving the following error when it tries to send the mail in script task.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: The remote name could not be resolved: 'smtp.gmail.com'
when we searched in the web some people are saying that it may be an issue of smtp server. so we have tried to ping the smtp.gmail.com. but when we try to ping smtp server from command prompt for the first time it is not pinging and giving the following error:
"Ping request could not find host smtp.gmail.com. Please check the name and try again."
If we again ping for the second time then it pinging without any loss (0% loss).
we uanble to find out why it is behaving like this.
Please help if anybody has any idea on this.
Thanks in advance.
Nagaraj
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Database Mail XPs’, 1;
GO
RECONFIGURE
GO
Port should be open 587 .
You can check email had send following:-SELECT * FROM msdb..sysmail_mailitemsSELECT items.subject,items.last_mod_date,l.description FROM dbo.sysmail_faileditems select * from msdb.dbo.sysmail_event_log
Similar Messages
-
Hi Experts,
I am trying to open .xlsx file in script task of SSIS 2005. I am using the 32-bit AccessDatabaseEngine driver with the Connection string as "Provider= Microsoft.ACE.OLEDB.12.0; Data Source=xlsx file path; Extended Properties="Excel 12.0 Xml;
HDR=YES"" in script task.
When we debug the VB script in Visual Studio 2005 and encounters the statement app.open() it throws the error "Couldn't find installable ISAM".
My SQL server version is 2005 SP2 DE
OS is Windows server 2003 EE SP2
Could anyone please let me know what is the resolution for this error?
Thanks and Regards,
AdeshHi Adesh,
First, make sure the package runs in 32-bit runtime mode (set Run64BitRuntime property to False) because you are using the 32-bit ACE OLE DB Provider. If it is not the case, the issue may occur due to the corrupted drivers or registry keys. You can try to
reinstall the 2007 Office System Driver: Data Connectivity Components as Arthur suggested.
Regards,
Mike Yin
TechNet Community Support -
Error while sending mail using script task in ssis 2008
Hi,
i am trying to send mail using ssis 2008 script task.for my requirement i am not able to use send mail task.
code i have used is
declared read only variables system::packagename
Dim PACKAGE As String
PACKAGE = Dts.Variables("System::PackageName").Value.ToString()
Dim myHtmlMessage As MailMessage
Dim mySmtpClient As SmtpClient
myHtmlMessage = New MailMessage("[email protected]", "[email protected]", "PACKAGE STATUS", PACKAGE + "WAS FAILED")
mySmtpClient = New SmtpClient("smtp.gmail.com")
mySmtpClient.Credentials = New NetworkCredential("[email protected]", "mypassword")
mySmtpClient.EnableSsl = True
mySmtpClient.Port = 587
mySmtpClient.Send(myHtmlMessage)
error i am getting is
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1
Authentication Required. Learn more at
at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ST_c121e07caaa94c21bb1355d4f753112f.vbproj.ScriptMain.Main()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
can any one tell me where i am going wrongalso getting error as follows
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1
Authentication Required. Learn more at
at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ST_c121e07caaa94c21bb1355d4f753112f.vbproj.ScriptMain.Main()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript() -
Getting error message when i am trying to update the excel file using script task in ssis package
Hi Guys,
I am getting error message when I am trying to update the excel. Please find the error messages as below
Error at Update File [Update File]: Failed to compiled scripts contained in the package. Open the package in SSIS Designer and resolve the compilation errors.
Error at Update File [Update File]: BC30002 - Type 'Microsoft.Office.Interop.Excel.Application' is not defined., ScriptMain.vb, 32, 32
Error at Update File [Update File]: BC30002 - Type 'Microsoft.Office.Interop.Excel.Workbook' is not defined., ScriptMain.vb, 33, 25
Error at Update File [Update File]: The binary code for the script is not found. Please open the script in the designer by clicking Edit Script button and make sure it builds successfully.
Warning at Update File [Update File]: Found SQL Server Integration Services 2008 Script Task "ST_050fcae972904039b4f0fe59b7528ece" that requires migration!
and the code that I am using is
Dell - Internal Use - Confidential
' Microsoft SQL Server Integration Services Script Task
' Write scripts using Microsoft Visual Basic
' The ScriptMain class is the entry point of the Script Task.
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.Office.Interop.Excel
<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="",
Description:="")> _
<System.CLSCompliantAttribute(False)> _
Partial
Public Class ScriptMain
Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
Enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
End Enum
Public Sub Main()
Dts.TaskResult = ScriptResults.Success
'Dim proc As System.Diagnostics.Process
'kill all instances of excel
'For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
' proc.Kill()
'Next
Dim excelnacomm As
New Microsoft.Office.Interop.Excel.Application
Dim wbnacomm As Microsoft.Office.Interop.Excel.Workbook
wbnacomm = excelnacomm.Workbooks.Open("http://test.xlsx")(renamed
the excel)
wbnacomm.RefreshAll()
wbnacomm.Save()
wbnacomm.Close()
excelnacomm.Quit()
Runtime.InteropServices.Marshal.ReleaseComObject(excelnacomm)
End Sub
End
Class
Please let me know what could be the reason
Smash126Download:
Microsoft Office 2010: Primary Interop Assemblies Redistributable
How to: Add or Remove References By Using the Add Reference Dialog Box / How to:
Add and Remove References in Visual Studio (C#)
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Scripting Language Options for the Script Task Options SSIS 2012
Can python or perl be used as a script language in the drag and drop script task? I believe only VB.Net and C# are, but I see under SSDT Tools -> Options there are some choices for Python Debugging? I'd like to use python as my SSIS scripting language
in some cases. If it can not be used as the script task language, what are the Python options under Tools -> Options for?
Any experts out there who can illuminate?
Thanks allHello,
In SSDT in a SSIS Script task you can only use Visual Basic.NET and C#, no other programming / scripting languages.
SSDST is a plugin for Visual Studio and in VS you will find several options which are irrelevant for SSIS projects, like this Phyton debugging option.
Olaf Helper
[ Blog] [ Xing] [ MVP] -
How can I upgrade Active X script Task in SSIS 2008 R2 ?
In my package had Active X script Task,
I want to remove the Active X script Task,
How Can I do in SQL Server 2008 R2 version ?
ThanksYou need to rewrite it to a .NET script task.
(although the ActiveX task is still availabe in 2008R2. It is discontinued in 2012 though)
MCSE SQL Server 2012 - Please mark posts as answered where appropriate. -
Convert ActiveX DTS script task to SSIS Script task - Please help
Hello,
I Have a ActiveX script that was used in a DTS package but I'm currently trying to convert all my DTS packages to SSIS.The script is tasked to run the package on a daily basis. Everything works fine except the ActiveX script. It gives an error on my DTSGlobalVariables.parent,
I looked up this error and changed it to "DTS.Variables("User::VariableName").Value", in
the SSIS script task (in VB) but now I'm getting error:
Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: The element cannot be found in a collection.
---> System.Runtime.InteropServices.COMException (0xC0010009): The element cannot be found in a collection.
bij Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVariables100.get_Item(Object Index)
bij Microsoft.SqlServer.Dts.Runtime.Variables.get_Item(Object index)
--- Einde van intern uitzonderingsstackpad ---
bij Microsoft.SqlServer.Dts.Runtime.Variables.get_Item(Object index)
bij ST_f32fc12b60f34bebbbdfc0c5e5b40a96.vbproj.ScriptMain.Main()
--- Einde van intern uitzonderingsstackpad ---
bij System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bij System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bij System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bij System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bij System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
bij System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
I have tried to convert this ActiveX script into a SSIS script task in VB but I know hardly any VB... So I'm wondering what the best course of action for me is, should I try to convert it into the script task like I am trying now, if so, how do I make it
work?
Any help would be really really welcome.
This is the original ActiveX script that needs to be converted:
' Visual Basic ActiveX Script
Function Main()
Dim sEnvironm
Dim sServer
Dim sSourceFile
Dim sSourcePath
Dim sBackupPath
Dim sErrorPath
Dim sFileName
Dim sUDLPath
' Set vars
' First 2 are depending on the server and db
' FILL IN THE RIGHT VALUES
sEnvironm = "MON_Datamart"
sServer = "BrechtProesmans"
' --- DO NOT CHANGE ANYTHING BELOW THIS LINE ---
sSourceFile = "C:\Program Files\Microsoft SQL Server\MON_Datamart\SourceFiles\tbl_L00T1.txt"
sSourcePath = "C:\Program Files\Microsoft SQL Server\MON_Datamart\SourceFiles\"
sBackupPath = "C:\Program Files\Microsoft SQL Server\MON_Datamart\BackupFiles\"
sErrorPath = "C:\Program Files\Microsoft SQL Server\MON_Datamart\ErrorFiles\"
sFileName = "tbl_L00T1.txt"
sUDLPath = "C:\Program Files\Microsoft SQL Server\MON_Datamart\MON_Datamart.udl"
' Initial
FoundError = False
' Get a handle to the Package object.
Set oPackage = DTSGlobalVariables.Parent
' Update DTSConnections
Set oConnection = oPackage.Connections("tbl_L00T1.txt")
oConnection.DataSource = sSourceFile
Set oConnection = oPackage.Connections("Datamart")
oConnection.UDLPath = sUDLPath
Set oConnection = oPackage.Connections("Truncate")
oConnection.UDLPath = sUDLPath
' Update DTSTasks
Set oTask = oPackage.Tasks("DTSTask_DTSDataPumpTask_1").CustomTask
oTask.SourceObjectName = sSourceFile
oTask.DestinationObjectName = sEnvironm & ".dbo.stg_tbl_L00T1"
' Set Global vars
DTSGlobalVariables("SourcePath").Value = sSourceFile
DTSGlobalVariables("BackupPath").Value = sBackupPath
DTSGlobalVariables("ErrorPath").Value = sErrorPath
DTSGlobalVariables("FileName").Value = sFileName
' Clean up.
Set oTask = Nothing
Set oConnection = Nothing
Set oPackage = Nothing
Main = DTSTaskExecResult_Success
End FunctionSet a breakpoint and tell us on what line it dies, at the same time, you can inspect the variable values in the Auto window (if there are) as it merely perhaps is an issue with values not being passed in.
Arthur
MyBlog
Twitter -
Unable to Open Script task in SSIS packages in Microsoft visual studio
TITLE: Microsoft Visual Studio
The task with the name "Map Network Drive" and the creation name "Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask, Microsoft.SqlServer.ScriptTask, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" is not registered
for use on this computer.
Contact Information:
Script Task
BUTTONS:
OKHi Covaikumar,
The issue may occur because the Script Task is not installed properly. Please check whether the Microsoft.SqlServer.ScriptTask.dll file exists in the following folders (supposing it is a 64-bit platform):
C:\Program Files\Microsoft SQL Server\110\DTS\Tasks
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Tasks
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ScriptTask\v4.0_11.0.0.0__89845dcd8080cc91
If the Microsoft.SqlServer.ScriptTask.dll file is missing in any of the folders, copy one (from the other folders or a different working SSIS server) to the folder. Alternatively, you can also use the command line tool gacutil.exe to install the task assembly
into the global assembly cache (GAC).
Regards,
Mike Yin
TechNet Community Support -
Bulk Insert using Script Task in SSIS
Hi guys,
Please I have about 300Million rows of data I want to load from a remote SQL server into another SQL server. The problem is that the data takes forever to load and I have a time line.
I was wondering if there is a way in can do bulk insert for this or maybe if I can get a code that I can use to load the data faster.
Please I really need your help as my job depends on this.
meCREATE TABLE [dbo].[post_tran](
[post_tran_id] [bigint] NOT NULL,
[post_tran_cust_id] [bigint] NOT NULL,
[settle_entity_id] [dbo].[POST_ID] NULL,
[batch_nr] [int] NULL,
[prev_post_tran_id] [bigint] NULL,
[next_post_tran_id] [bigint] NULL DEFAULT ((0)),
[sink_node_name] [dbo].[POST_NAME] NULL,
[tran_postilion_originated] [dbo].[POST_BOOL] NOT NULL,
[tran_completed] [dbo].[POST_BOOL] NOT NULL,
[message_type] [char](4) NOT NULL,
[tran_type] [char](2) NULL,
[tran_nr] [bigint] NOT NULL,
[system_trace_audit_nr] [char](6) NULL,
[rsp_code_req] [char](2) NULL,
[rsp_code_rsp] [char](2) NULL,
[abort_rsp_code] [char](2) NULL,
[auth_id_rsp] [varchar](10) NULL,
[auth_type] [numeric](1, 0) NULL,
[auth_reason] [numeric](1, 0) NULL,
[retention_data] [varchar](999) NULL,
[acquiring_inst_id_code] [varchar](11) NULL,
[message_reason_code] [char](4) NULL,
[sponsor_bank] [char](8) NULL,
[retrieval_reference_nr] [char](12) NULL,
[datetime_tran_gmt] [datetime] NULL,
[datetime_tran_local] [datetime] NOT NULL,
[datetime_req] [datetime] NOT NULL,
[datetime_rsp] [datetime] NULL,
[realtime_business_date] [datetime] NOT NULL,
[recon_business_date] [datetime] NOT NULL,
[from_account_type] [char](2) NULL,
[to_account_type] [char](2) NULL,
[from_account_id] [varchar](28) NULL,
[to_account_id] [varchar](28) NULL,
[tran_amount_req] [dbo].[POST_MONEY] NULL,
[tran_amount_rsp] [dbo].[POST_MONEY] NULL,
[settle_amount_impact] [dbo].[POST_MONEY] NULL,
[tran_cash_req] [dbo].[POST_MONEY] NULL,
[tran_cash_rsp] [dbo].[POST_MONEY] NULL,
[tran_currency_code] [dbo].[POST_CURRENCY] NULL,
[tran_tran_fee_req] [dbo].[POST_MONEY] NULL,
[tran_tran_fee_rsp] [dbo].[POST_MONEY] NULL,
[tran_tran_fee_currency_code] [dbo].[POST_CURRENCY] NULL,
[tran_proc_fee_req] [dbo].[POST_MONEY] NULL,
[tran_proc_fee_rsp] [dbo].[POST_MONEY] NULL,
[tran_proc_fee_currency_code] [dbo].[POST_CURRENCY] NULL,
[settle_amount_req] [dbo].[POST_MONEY] NULL,
[settle_amount_rsp] [dbo].[POST_MONEY] NULL,
[settle_cash_req] [dbo].[POST_MONEY] NULL,
[settle_cash_rsp] [dbo].[POST_MONEY] NULL,
[settle_tran_fee_req] [dbo].[POST_MONEY] NULL,
[settle_tran_fee_rsp] [dbo].[POST_MONEY] NULL,
[settle_proc_fee_req] [dbo].[POST_MONEY] NULL,
[settle_proc_fee_rsp] [dbo].[POST_MONEY] NULL,
[settle_currency_code] [dbo].[POST_CURRENCY] NULL,
[icc_data_req] [text] NULL,
[icc_data_rsp] [text] NULL,
[pos_entry_mode] [char](3) NULL,
[pos_condition_code] [char](2) NULL,
[additional_rsp_data] [varchar](25) NULL,
[structured_data_req] [text] NULL,
[structured_data_rsp] [text] NULL,
[tran_reversed] [char](1) NULL DEFAULT ((0)),
[prev_tran_approved] [dbo].[POST_BOOL] NULL,
[issuer_network_id] [varchar](11) NULL,
[acquirer_network_id] [varchar](11) NULL,
[extended_tran_type] [char](4) NULL,
[ucaf_data] [varchar](33) NULL,
[from_account_type_qualifier] [char](1) NULL,
[to_account_type_qualifier] [char](1) NULL,
[bank_details] [varchar](31) NULL,
[payee] [char](25) NULL,
[card_verification_result] [char](1) NULL,
[online_system_id] [int] NULL,
[participant_id] [int] NULL,
[opp_participant_id] [int] NULL,
[receiving_inst_id_code] [varchar](11) NULL,
[routing_type] [int] NULL,
[pt_pos_operating_environment] [char](1) NULL,
[pt_pos_card_input_mode] [char](1) NULL,
[pt_pos_cardholder_auth_method] [char](1) NULL,
[pt_pos_pin_capture_ability] [char](1) NULL,
[pt_pos_terminal_operator] [char](1) NULL,
[source_node_key] [varchar](32) NULL,
[proc_online_system_id] [int] NULL,
[from_account_id_cs] [int] NULL,
[to_account_id_cs] [int] NULL,
[pos_geographic_data] [char](5) NULL,
[payer_account_id] [char](5) NULL,
[cvv_available_at_auth] [varchar](30) NULL,
[cvv2_available_at_auth] [varchar](30) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
me -
How to load data into table Using Script Task
We have a directory/folder where we have a file. We need to insert the File Created Date , File Name , Extension into the database table of Sql server by using Script Task.
So could you please suggest , how to frame the connection string , fetch the file details and insert the data into the database table using Script Task of SSIS 2008You can achieve it as follows using standard script task
1. Add a ForEachLoop container to point to your directory to iterate though the files. Add a variable of type string inside loop to get file name of each file it iterates. Choose option Filename and extension. Add a variable to just store extension part
(FileExtension), set EValuateAsExpression true for it and give expression as below
SUBSTRING(@[User::FileName],FINDSTRING(@[User::FileName],".",1)+1,LEN(@[User::FileName]))
2. Add a script task inside loop and pass filename variable as a read only variable to it. Crete a new variable to get creationdate and pass it as ReadWrite. Inside write code as below
Public Sub Main()
' Add your code here
Dim f As New System.IO.FileInfo(Dts.Variables("FileName").Value.ToString())
Dts.Variables("FileCreatedDate").Value = f.CreationTime
Dts.TaskResult = ScriptResults.Success
End Sub
3. Add a Exec SQL Task after Script task inside loop and give a query like below
INSERT INTO TableName (FileName,CreatedDate,Extension)
VALUES(?,?,?)
and in parameter tab map the parameter placeholders 0,1 and 2 to @[User::FileName],@[User::FileCreatedDate] & @[User::FileExtension] variables
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
SSIS Package, Use Datepicker control in VB script task
Dim dateTimePicker1 As New DateTimePicker()
Controls.AddRange(New Control() {dateTimePicker1})
MessageBox.Show(dateTimePicker1.Value.ToString())
dateTimePicker1.Value = DateTime.Now.AddDays(1)
MessageBox.Show(dateTimePicker1.Value.ToString())
In an SSIS package, 2008r2.... I trying to add a messagebox to a script task that contains a datepicker control.
I will pass the date to a variable then stored procedure. The code above almost works except I get "Name Controls not declared". I am using
System.Windows.Forms.
Anyone know how to correct?
Thanks,
MIkeNope
You cant have forms etc added to script task inside SSIS and make it interactive
If your intention is to pass a value from outside you need to make use of configurations or use command line arguments with utilities like dtexec.
http://www.bidn.com/blogs/DevinKnight/ssis/1655/passing-values-into-an-ssis-package-at-runtime-from-outside-the-package
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
How do I create an Event Handler for an Execute SQL Task in SSIS if its result set is empty
So the precedence on my entire package executing is based on my first SELECT of my Table and an updatable column. If that SELECT results in an empty result set, how do I create an Event Handler to handle an empty result set?
A Newbie to SSIS.
I appreciate your review and am hopeful for a reply.
PSULionRPDepends upon what you want to do in the eventhandler. this is what you can do
Store the result set from the Select to a user variable.
Pass this user variable to a Script task.
In the Script task do whatever you want to do including failing the package this can be done by failing the script task, which in turns fails the package. something like
Dts.TaskResult = Dts.Results.Failure
Abhinav http://bishtabhinav.wordpress.com/ -
Script task fails to send mail to GMAIL
Hi guys ,
I am new here and i am glad i that i am here. I am working in a company as SQL Server developer(T-sql), i am learning SSIS because i wanted to move to data warehousing.
I not familiar and i don't know any thing about C#, but i am learning SSIS on my own.
I tried to send mail to gmail using script task , both sender and receiver with same mail ID using variables which i tried using tutorial i found from the below link.
[quote]http://www.codeproject.com/Articles/85172/Send-Email-from-SSIS-with-option-to-indicate-Email[/quote]
but finally when i execute the task , it returns failure message and email is not sent.
[quote]SSIS package "Send mail using script task.dtsx" starting.
Error: 0x8 at Script Task: The script returned a failure result.
Task failed: Script Task
SSIS package "Send mail using script task.dtsx" finished: Success.
[/quote]
Below message taken from progress tab
[quote]Error: The script returned a failure result.[/quote]
Can you all please help me in finding where i am going wrong? please check below code which i have used in script task.
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;
using System.Text.RegularExpressions;
using System.Net.Mail;
namespace ST_9bc84810a62a401aa44ddd905bcd369d.csproj
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
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
The execution engine calls this method when the task executes.
To access the object model, use the Dts property. Connections, variables, events,
and logging features are available as members of the Dts property as shown in the following examples.
To reference a variable, call Dts.Variables["MyCaseSensitiveVariableName"].Value;
To post a log entry, call Dts.Log("This is my log text", 999, null);
To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, true);
To use the connections collection use something like the following:
ConnectionManager cm = Dts.Connections.Add("OLEDB");
cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;";
Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
To open Help, press F1.
public void Main()
string sSubject = "Test Subject";
string sBody = "Test Message";
int iPriority = 2;
if (SendMail(sSubject, sBody, iPriority))
Dts.TaskResult = (int)ScriptResults.Success;
else
//Fails the Task
Dts.TaskResult = (int)ScriptResults.Failure;
public bool SendMail(string sSubject, string sMessage, int iPriority)
try
string sEmailServer = Dts.Variables["sEmailServer"].Value.ToString();
string sEmailPort = Dts.Variables["sEmailPort"].Value.ToString();
string sEmailUser = Dts.Variables["sEmailUser"].Value.ToString();
string sEmailPassword = Dts.Variables["sEmailPassword"].Value.ToString();
string sEmailSendTo = Dts.Variables["sEmailSendTo"].Value.ToString();
string sEmailSendCC = Dts.Variables["sEmailSendCC"].Value.ToString();
string sEmailSendFrom = Dts.Variables["sEmailSendFrom"].Value.ToString();
string sEmailSendFromName = Dts.Variables["sEmailSendFromName"].Value.ToString();
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(sEmailSendFrom, sEmailSendFromName);
//You can have multiple emails separated by ;
string[] sEmailTo = Regex.Split(sEmailSendTo, ";");
string[] sEmailCC = Regex.Split(sEmailSendCC, ";");
int sEmailServerSMTP = int.Parse(sEmailPort);
smtpClient.Host = sEmailServer;
smtpClient.Port = sEmailServerSMTP;
System.Net.NetworkCredential myCredentials =
new System.Net.NetworkCredential(sEmailUser, sEmailPassword);
smtpClient.Credentials = myCredentials;
message.From = fromAddress;
if (sEmailTo != null)
for (int i = 0; i < sEmailTo.Length; ++i)
if (sEmailTo[i] != null && sEmailTo[i] != "")
message.To.Add(sEmailTo[i]);
if (sEmailCC != null)
for (int i = 0; i < sEmailCC.Length; ++i)
if (sEmailCC[i] != null && sEmailCC[i] != "")
message.To.Add(sEmailCC[i]);
switch (iPriority)
case 1:
message.Priority = MailPriority.High;
break;
case 3:
message.Priority = MailPriority.Low;
break;
default:
message.Priority = MailPriority.Normal;
break;
//You can enable this for Attachments.
//SingleFile is a string variable for the file path.
//foreach (string SingleFile in myFiles)
// Attachment myAttachment = new Attachment(SingleFile);
// message.Attachments.Add(myAttachment);
message.Subject = sSubject;
message.IsBodyHtml = true;
message.Body = sMessage;
smtpClient.Send(message);
return true;
catch (Exception ex)
return false;
Please help me resolve this guys ... THANKS IN ADVANCEThank you very much for your reply @Elvis Long,
Sorry for the late reply
Actually, i am not trying or executing this task from my office , but i am trying this at my home :( .
sEmailPort has value 587 sEmailServer has smtp.gmail.com
Can you please check whether this C# coding is correct or not ? because finally it gives error saying "Script
Task: The script returned a failure result"
so can you please check this with your system and let me know what is wrong with this code
Thanks in advance -
Script task to convert output from a sql query into send mail task body formatting
SSIS 2008R2 Version
Code from script task
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_29dd6843bd6c4aee9b1656c1bbf55ba8.csproj
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
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::gsEmailMessage");
Dts.VariableDispenser.LockForWrite("User::gsWebserviceName");
Dts.VariableDispenser.LockForWrite("User::gsNoOfCallsInADay");
Dts.VariableDispenser.LockForWrite("User::gsCalledBySystem");
Dts.VariableDispenser.GetVariables(ref varCollection);
//Set the header message for the query result
if (varCollection["User::gsEmailMessage"].Value == string.Empty)
header = "Hi, Count is greater then 50 :\n\n";
//header = "Execute SQL task output sent using Send Email Task in SSIS:\n\n\n";
header += "----------------------------------------------------------------------------------------------------------------------" + "\n";
header += string.Format("{0}\t\t\t\t{1}\t\t{2}\n", "WebService Name", "No Of Calls In A Day", "Called By System");
header += "----------------------------------------------------------------------------------------------------------------------" + "\n";
varCollection["User::gsEmailMessage"].Value = header;
//Format the query result with tab delimiters
message = String.Format("<HTML><BODY><P>{0}</P><P>{1}</P><P>{2}</P></BODY></HTML>",
varCollection["User::gsWebserviceName"].Value,
varCollection["User::gsNoOfCallsInADay"].Value,
varCollection["User::gsCalledBySystem"].Value);
varCollection["User::gsEmailMessage"].Value = varCollection["User::gsEmailMessage"].Value + message + "\n";
Dts.TaskResult = (int)ScriptResults.Success;
Above code will return data in below format and then i send this output in aemail using send mail task.
Hi, count is greater then 50 :
WebService Name
No Of Calls In A Day Called By System
WebServiceone 1
Internetbutiken
WebServiceGetdetailstwo 1
Internetbutiken
Servicenamethree 2
MOB
As you can see above code is not in align as if we service name is shorter then 2nd column get disallign and its not look good.I need output should be like below.
Hi, count is greater then 50 :
WebService Name
No Of Calls In A Day Called By System
WebServiceone 1
Internetbutiken
WebServiceGetdetailstwo 1
Internetbutiken
Servicenamethree 2
MOB
Please suggest something...
Thanks
SR_MCTSSee code explained here
http://microsoft-ssis.blogspot.in/2013/08/sending-mail-within-ssis-part-2-script.html
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs
This will not help.As I am not creating smtp connectin ,send from ,send to in script task.I am just creating email body from sql output. -
Sending mail with attachment fails on MAC Mail and WRP400.
Sending mail with attachment fails on MAC Mail and WRP400.
We have hundreds of WRP400 connected with Mac (Machintosh) computers. No special configurations are applied (no virtual server or DMZ). Web navigation, P2P programs and sending mail without attachment work right.
The problem is the impossibility to send mails with medium or big size files attachment from MAC Mail.
If we use Windows PCs or a different linksys routers (eg. WRT54G) the problem not happens.
We have upgraded WRP400 firmware version from 1.00.06 to 2.00.05 but the result is the same. Sending mail with attachment using Mac fails.
We tried to configure WRP400 with DMZ to a particular MAC. We tried to configure Virtual server on tcp 25 port of a MAC. The result is always the same.
This is a WRP400 bug? Windows PCs work right. MAC and MAC mail works right with other linksys router.
We need help. Thanks.The problem was fixed since beta firmware 2.00.11.
I think that this issue was caused from a bug that decrease upload bitrate of WRP400 after some days of activity.
See more details on Cisco forum under title "WRP400 stops responding after browsing certain websites".
Thanks.
Maybe you are looking for
-
How can I disable Pages 5.1 and make 4.0.3 the default again?
Does anyone know how to disable Pages 5.1 so that it NEVER opens a doc again unless I somehow re-enable it? I don't want to delete it in case someone sends me a tainted 5.1 Pages doc. Plus I'm sure if I DO delete it, it will keep showing up like a ba
-
I reformatted my drive because of virus, and I did not copy the whole c drive other than files i need. I thought the firefox sync will let me restore all my bookmarks and tabs after I had my computer backup and running again! Obviously i was wrong be
-
Get filename from Watched folder start point
I have a watched folder as a start point and I can use the symbols %F and %E in order to save the output documents in the Result folder. This is easy. What I cannot do, is getting in a string variable the same filename in order to use it within the P
-
Listening events for numeric keys
Hi, How can I listen events for numeric keys without using Canvas? I mean I would like to take some actions when user writes something on a TextField. My main class is not inherited from Canvas and because of that I can't use keyPressed() method to h
-
New Radeon 5870 graphic card putting graphics all over the screen
Just put in Radeon 5870 on a early 2009 Mac Pro running the latest every thing with a Mac screen. It starts up well and then graphic lines all over the place and bits of the screen missing. Is it the card, the Mac or could it be me.