sql-server - 如何获取解决方案中所有 SSIS 包的所有错误

标签 sql-server visual-studio build ssis etl

在 Visual Studio 2015 中,我有一个解决方案,其中包含 3 打 dtsx在 SSIS 包文件夹中。我重新构建解决方案并获得成功。只有当我开单dtsx我一个接一个地注意到其中一些(不是全部)实际上有几个问题。

有没有办法在错误列表中获取这些问题的列表,或者我是否需要打开所有 dtsx逐个?

最佳答案

不幸的是,如果不打开包或使用 DTExec Utility 执行它们,就无法从您的集成服务解决方案(在 Visual Studio 中)实现这一点。 .但是您可以采取一些解决方法并以编程方式检查获取错误:

解决方法

  • 我使用visual studio(使用Vb.Net)创建了一个winforms应用程序
  • 我加了 Microsoft.SqlServer.DTSPipelineWrapMicrosoft.SQLServer.ManagedDTS作为引用
  • 我使用以下代码循环特定目录中的包,验证并将错误放入日志文件中:
    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
  • 关于sql-server - 如何获取解决方案中所有 SSIS 包的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42577741/

    相关文章:

    svn - grails 将 svn 修订添加到 app.version

    javascript - 如何自动停止在后台运行的npm脚本

    sql-server - 处理具有不同结构的文件 For each Loop SSIS

    c++ - .lib 链接其他 .libs

    GCC 4.6.0 构建健全性检查错误

    visual-studio - 如何查看异常在哪里被捕获?

    c# - 操作无法完成。该系统找不到指定的路径

    sql - 显示某个日期范围内的有效结果数

    sql-server - 'GO' 附近的语法不正确

    sql-server - linq to sql 何时会被淘汰? Entity Framework (替代)发布了吗?