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% 確信することは困難ですが、スクリプトを完全に捨てて、Send Mail Taskタスクを使用することをお勧めします。

于 2016-04-29T09:19:32.787 に答える