0

我有大约 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

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

在此处输入图像描述

您能提供的任何帮助将不胜感激。

4

1 回答 1

1

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

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

于 2016-04-29T09:19:32.787 回答