Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách lấy tất cả các lỗi của tất cả các gói SSIS trong một giải pháp

Thật không may, không có cách nào để đạt được điều này từ giải pháp dịch vụ tích hợp của bạn (trong studio trực quan) mà không cần mở các gói hoặc có thể thực thi chúng bằng DTExec Utility . Nhưng bạn có thể thực hiện một số cách giải quyết khác và kiểm tra lỗi theo chương trình:

Giải pháp thay thế

  1. Tôi đã tạo một ứng dụng winforms bằng visual studio (sử dụng Vb.Net)
  2. Tôi đã thêm Microsoft.SqlServer.DTSPipelineWrapMicrosoft.SQLServer.ManagedDTS làm tài liệu tham khảo
  3. Tôi đã sử dụng mã sau để lặp lại các gói trong một thư mục cụ thể, xác thực và nhận lỗi trong tệp nhật ký:

    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
    

Tài liệu tham khảo

  • 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. Ví dụ về Chèn máy chủ SQL

  2. Cách DB_NAME () hoạt động trong SQL Server

  3. Làm cách nào để thực hiện câu lệnh CẬP NHẬT với JOIN trong SQL Server?

  4. Có một SQL Server Profiler cho SQL Server Express không?

  5. phân tách các giá trị được phân tách bằng dấu phẩy và lưu trữ trong bảng trong máy chủ sql