Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получите всички грешки на всички SSIS пакети в решение

За съжаление, няма начин да постигнете това от вашето решение за интеграционни услуги (във визуално студио), без да отваряте пакетите или може би да ги изпълнявате с помощта на DTExec Utility . Но можете да направите някакво решение и да проверите програмно получаване на грешки:

Заобиколно решение

  1. Създадох приложение winforms, използвайки визуално студио (с помощта на Vb.Net)
  2. Добавих Microsoft.SqlServer.DTSPipelineWrap и Microsoft.SQLServer.ManagedDTS като препратки
  3. Използвах следния код, за да преглеждам пакети в определена директория, да проверявам и да получа грешки в регистрационен файл:

    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
    

Препратки

  • 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 9 жизненоважни задачи, за които отговарят DBA

  2. Пример за CTE и рекурсия на SQL Server

  3. Не може да се зареди насипно. Код за грешка в операционната система 5 (Достъпът е отказан.)

  4. Използване на SQL Server sp_msforeachtable за избор само на онези таблици, които отговарят на някакво условие

  5. Грешка:TCP доставчик:Код на грешка 0x2746. По време на настройката на Sql в linux през терминал