2016-04-28 19 views
0

数十時間にわたって完全に正常に実行されている約10個のパッケージがありました。これらのパッケージは、基本的にすべてのパッケージにコピーしたのと同じスクリプトタスクを使用します。このスクリプトのタスクはすべてメールを送信します。私は月曜日に働くようになりました。突然、電子メールのスクリプトタスクに当たったらすぐに、すべてのパッケージでこのDTS Script Taskエラーが発生します。文字通り、これらのパッケージでは何も変わっていません。私はそれを修正するためにどのような手順をとるべきかわかりません。SSIS - 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 protected]", "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 protected]" 
     .Send() 
    End With 
    objOutlookMsg = Nothing 
    objOutlook = Nothing 
End Sub 

私はコードをステップ実行すると、ここで発生するようです:あなたが提供することができます

enter image description here

任意の助けいただければ幸いです。

答えて

1

あなたは、Outlookオブジェクトがもはや存在しない(サーバー上でローカルに?が?)あなたのパッケージを実行している(またはアクセス許可の問題があります - しかし、これはほとんどありません)どこでもこのような

依存関係は、常にときに管理することは困難ですシステムが変わる - そして、彼らはいつもそうです!あなたのメールで何を送信しているかわからないので、100%確実にするのは難しいですが、スクリプトを完全に捨てて、Send Mail Taskタスクを使用することをお勧めします。

+0

+1。私は「ActiveXコンポーネントを作成できません」という悪夢を抱いていました。 CreateObjectは信頼できる方法ではありません。電子メールには、Send Mailタスクがあり、より良い選択肢としてコード内で直接SMTP接続を行うことができます。 – SebTHU

+0

私の会社の電子メール設定のためメール送信タスクを使用することはできません...なぜ正確に覚えていないのですか?私は仕事を得ることができず、スクリプトタスクに落ち着きましたので、 .. – Jon

+0

私は現在パッケージをローカルで実行しています – Jon

関連する問題

 関連する問題