我已经有大约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
当我单步执行代码时,它似乎发生在这里:
非常感谢您提供的任何帮助。
答案 0 :(得分:1)
无论您在哪里运行软件包(本地?在服务器上?),Outlook对象都不再存在(或存在权限问题 - 但这不太可能)
当系统发生变化时,这样的依赖性总是难以管理 - 而且他们总是会这样做!很难100%确定,因为我无法从您的示例中看到您在电子邮件中发送的内容 - 但我建议您完全放弃脚本并使用Send Mail Task任务。< / p>