スクリプト タスクでのイベントの発生
更新 : 2006 年 4 月 14 日
イベントは、エラーや警告、およびタスクの進行状況や状態などのその他の情報を、親パッケージにレポートする方法を提供するものです。パッケージには、イベントの通知機能を管理するためのイベント ハンドラがあります。スクリプト タスクは、Dts オブジェクトの Events プロパティに対してメソッドを呼び出して、イベントを発生させることができます。Integration Services パッケージがイベントを処理する方法の詳細については、「Integration Services のイベント ハンドラ」を参照してください。
イベントは、パッケージ内で有効な任意のログ プロバイダに記録できます。ログ プロバイダは、イベントに関する情報をデータ ストアに保存します。スクリプト タスクは、イベントを発生させずに Log メソッドを使用して、情報をログ プロバイダに記録することもできます。Log メソッドの使用方法の詳細については、「スクリプト タスクでのログ記録」を参照してください。
イベントを発生させるには、スクリプト タスクは Events プロパティによって公開される次のメソッドのいずれかを呼び出します。
イベント | 説明 |
---|---|
パッケージ内でユーザー定義のカスタム イベントを発生させます。 |
|
パッケージにエラー条件を通知します。 |
|
ユーザーに情報を提供します。 |
|
タスクの進行状況をパッケージに通知します。 |
|
パッケージがタスクを途中でシャットダウンする必要があるかどうかを示す値を返します。 |
|
エラー条件ではないが、タスクがユーザーに通知する正当な理由がある状態であることをパッケージに通知します。 |
イベントの例
次の例では、スクリプト タスク内でイベントを発生させる方法を示します。この例では、ネイティブ Windows API 関数を使用して、インターネット接続が使用できるかどうかを確認します。接続が使用できない場合、エラーを発生させます。使用されているモデム接続が切断される可能性がある場合、この例では警告が発生します。それ以外の場合は、インターネット接続が検出されたことを示す情報メッセージを返します。
Private Declare Function InternetGetConnectedState Lib "wininet" _
(ByRef dwFlags As Long, ByVal dwReserved As Long) As Long
Private Enum ConnectedStates
LAN = &H2
Modem = &H1
Proxy = &H4
Offline = &H20
Configured = &H40
RasInstalled = &H10
End Enum
Public Sub Main()
Dim dwFlags As Long
Dim connectedState As Long
Dim fireAgain as Boolean
connectedState = InternetGetConnectedState(dwFlags, 0)
If connectedState <> 0 Then
If (dwFlags And ConnectedStates.Modem) = ConnectedStates.Modem Then
Dts.Events.FireWarning(0, "Script Task Example", _
"Volatile Internet connection detected.", String.Empty, 0)
Else
Dts.Events.FireInformation(0, "Script Task Example", _
"Internet connection detected.", String.Empty, 0, fireAgain)
End If
Else
' If not connected to the Internet, raise an error.
Dts.Events.FireError(0, "Script Task Example", _
"Internet connection not available.", String.Empty, 0)
End If
Dts.TaskResult = Dts.Results.Success
End Sub
参照
その他の技術情報
Integration Services のイベント ハンドラ
パッケージのイベント ハンドラの作成
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|