sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man får alla fel av alla SSIS-paket i en lösning

Tyvärr finns det inget sätt att uppnå detta från din integrationslösning (i visual studio) utan att öppna paketen eller kanske köra dem med DTExec Utility . Men du kan göra en lösning och kontrollera att få fel programmässigt:

Lösning

  1. Jag skapade en winforms-applikation med hjälp av visual studio (med Vb.Net)
  2. Jag lade till Microsoft.SqlServer.DTSPipelineWrap och Microsoft.SQLServer.ManagedDTS som referenser
  3. Jag använde följande kod för att loopa över paket i en specifik katalog, validera och få fel i en loggfil:

    Dim strPackagesDirectory As String = "C:\Users\Admin\Desktop\New folder"
    Dim strOutputLogFile As String = "D:\1.txt"
    
    For Each strFile As String In IO.Directory.GetFiles(strPackagesDirectory, "*.dtsx", IO.SearchOption.TopDirectoryOnly)
    
        Dim pckg As New Microsoft.SqlServer.Dts.Runtime.Package
        Dim app As New Microsoft.SqlServer.Dts.Runtime.Application
    
        pckg = app.LoadPackage(strFile, Nothing)
        Dim obj = pckg.Validate(Nothing, Nothing, Nothing, Nothing)
    
        If pckg.Errors.Count > 0 Then
    
            Using sr As New IO.StreamWriter(strOutputLogFile, True)
                sr.WriteLine("")
                sr.WriteLine(strFile)
                sr.WriteLine("--------------")
                For Each err As Object In pckg.Errors
    
    
                    sr.WriteLine(err.Description)
    
                Next
    
                sr.WriteLine("==========")
                sr.Close()
            End Using
    
        End If
    Next
    

Referenser

  • https://msdn.microsoft.com/en-us/library/ms136090.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
  • https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.package.aspx
  • https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtscontainer.validate.aspx



  1. ORA-12505, TNS:listener känner för närvarande inte till SID som ges i anslutningsbeskrivningen

  2. CRS 11.2.0

  3. Hur uppdaterar jag två tabeller i en sats i SQL Server 2005?

  4. Att hämta UTF-8-text från MySQL i R returnerar ????