Benutzer mit den meisten Antworten
SSIS und VB Auslesen des Result

Frage
-
Hallo,
ich starte ein SSIS2008-Packet von einer VB 6.0-Exe aus mit folgendem Code:
Dim pkgLocation As String
Dim app As New DTSLib.Application
Dim pkgResults As DTSExecResult
Dim pkgcontainer As IDTSContainer100
Dim pkg As IDTSPackage100
Dim pkgConnections As IDTSConnections100
Dim variab As IDTSVariable100
pkgLocation = "D:\My.dtsx"
Set pkg = app.LoadPackage(pkgLocation, True, Nothing)
Set pkgcontainer = pkg
pkgcontainer.Variables("User::strSQL").Value = sql
pkg.ExecuteJetzt würde ich gerne noch in der VB-exe eventuelle Fehlermeldungen auslesen. In Dts2000 ging das so:
' Get Status and Error Message
For Each oStep In oPKG.Steps
If oStep.ExecutionResult = DTSStepExecResult_Failure Then
oStep.GetExecutionErrorInfo lErr, sSource, sDesc
sMessage = sMessage & "Step """ & oStep.Name & _
""" Failed" & vbCrLf & _
vbTab & "Error: " & lErr & vbCrLf & _
vbTab & "Source: " & sSource & vbCrLf & _
vbTab & "Description: " & sDesc & vbCrLf & vbCrLf
Else
sMessage = sMessage & "Step """ & oStep.Name & _
""" Succeeded" & vbCrLf & vbCrLf
End If
NextWie muss ich das jetzt für die SSIS schreiben?
Vielen Dank im voraus und herzliche Grüße
Andreas
Antworten
-
Hallo Robert,
vielen Dank für die Tipps, ich habe die Lösung bereits gefunden. Ich wollte sie auch noch posten, habs allerdings vergessen, darum hole ich das gleich nach:
Dim sMessage As String
Dim errors As IDTSErrors100
Dim error As IDTSError100
Dim sql As StringDim pkgLocation As String
Dim app As New DTSLib.Application
Dim pkgResults As DTSExecResult
Dim pkgcontainer As IDTSContainer100
Dim pkg As IDTSPackage100
Dim pkgConnections As IDTSConnections100
Dim variab As IDTSVariable100
pkgLocation = strpubPathSSIS & "\" & SSIS_Name
Set pkg = app.LoadPackage(pkgLocation, True, Nothing)pkgResults = pkg.Execute()
sMessage = ""
If pkgResults = DTSER_FAILURE Then
For Each error In pkg.errors
sMessage = sMessage & error.SubComponent & " failed:" & _
" -Source: " & error.Source & _
" -Description " & error.Description & vbNewLine
Next
Else
sMessage = SSIS_Name & " succeeded."
End IfDanke nochmal und herzliche Grüße
Andreas
- Als Antwort markiert Andreas Jaendl Montag, 20. Juni 2011 05:33
Alle Antworten
-
Hallo Andreas Jaendl,
Schau Dir mal die folgenden Diskussionsfaden an. Vielleicht können sie Dir weiterhelfen.
VB.NET and DTS package problems
Migration Of Sql 7.0 Package To Sql 2005
DTS Package can't be executed from within a VB 6.0 application
Grüße,
Robert
-
Hallo Robert,
vielen Dank für die Tipps, ich habe die Lösung bereits gefunden. Ich wollte sie auch noch posten, habs allerdings vergessen, darum hole ich das gleich nach:
Dim sMessage As String
Dim errors As IDTSErrors100
Dim error As IDTSError100
Dim sql As StringDim pkgLocation As String
Dim app As New DTSLib.Application
Dim pkgResults As DTSExecResult
Dim pkgcontainer As IDTSContainer100
Dim pkg As IDTSPackage100
Dim pkgConnections As IDTSConnections100
Dim variab As IDTSVariable100
pkgLocation = strpubPathSSIS & "\" & SSIS_Name
Set pkg = app.LoadPackage(pkgLocation, True, Nothing)pkgResults = pkg.Execute()
sMessage = ""
If pkgResults = DTSER_FAILURE Then
For Each error In pkg.errors
sMessage = sMessage & error.SubComponent & " failed:" & _
" -Source: " & error.Source & _
" -Description " & error.Description & vbNewLine
Next
Else
sMessage = SSIS_Name & " succeeded."
End IfDanke nochmal und herzliche Grüße
Andreas
- Als Antwort markiert Andreas Jaendl Montag, 20. Juni 2011 05:33