SSIS - DTS脚本任务在用户代码中遇到异常

时间:2016-04-28 21:02:49

标签: .net visual-studio-2012 ssis dts script-task

我已经有大约10个包已经运行了几个月的完美无缺。这些包使用了我基本上在所有包中复制的相同脚本任务。所有这个脚本任务都是发送电子邮件。我星期一进来工作,突然间,我一碰到电子邮件脚本任务就立即在所有软件包上收到此DTS脚本任务错误。从字面上看,这些软件包中没有任何改变,我不确定采取什么措施来修复它。

#Region "Imports"
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
#End Region

Public Sub Main()

    'send email notification
    Dim message As String = "message goes here"
    sendEmail("email@email.com", "Subject is here", message)



    Dts.TaskResult = ScriptResults.Success
End Sub


Sub sendEmail(ByRef toaddr As String, ByRef sbj As String, ByRef msg As String)
    Dim objOutlook As Object
    Dim objOutlookMsg As Object
    objOutlook = CreateObject("Outlook.Application")
    objOutlookMsg = objOutlook.CreateItem(0)
    With objOutlookMsg
        .To = toaddr
        .Subject = sbj
        .Body = msg
        .sentonbehalfofname = "email@email.com"
        .Send()
    End With
    objOutlookMsg = Nothing
    objOutlook = Nothing
End Sub

当我单步执行代码时,它似乎发生在这里:

enter image description here

非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

无论您在哪里运行软件包(本地?在服务器上?),Outlook对象都不再存在(或存在权限问题 - 但这不太可能)

当系统发生变化时,这样的依赖性总是难以管理 - 而且他们总是会这样做!很难100%确定,因为我无法从您的示例中看到您在电子邮件中发送的内容 - 但我建议您完全放弃脚本并使用Send Mail Task任务。< / p>