【问题标题】:Automatically generate SSIS package from BIML script从 BIML 脚本自动生成 SSIS 包
【发布时间】:2014-03-17 13:02:26
【问题描述】:

完成 BIML 脚本(使用 BIDS SQL Server 2008)创建 SSIS 包后,您只需右键单击 BIML 文件并单击生成 SSIS 包。

我如何通过代码生成 SSIS 包,例如C# 还是 SQL?我可以想象 BimlEngine.dll 的某种 shell 脚本,例如BimlEngine.dll -"myFileServer\myBimlScript", "生成 SSIS 包"

我找到了这个 c# 代码项目 https://github.com/jgsato/BimlGen

尤其是这个文件 https://github.com/jgsato/BimlGen/blob/master/BimlGenerator.cs

我只是不知道如何使用它。

感谢您的帮助。

【问题讨论】:

  • 请告诉我为什么需要从 BIML 脚本生成 SSIS 包
  • 我从来没有遇到过/听说过这样的情况......所以现在请让我了解一下上下文
  • @user1254579:我知道,我想这样做是为了与构建自动化挂钩。

标签: c# vb.net ssis ssis-2008 biml


【解决方案1】:

你链接的代码是一种基于SMO生成Biml、xml的机制。

您的意图是重现右键单击/生成 SSIS 包,从而将 Biml XML 转换为 DTSX 的 XML。为此,您需要查看BidsHelper 是如何做到的。在BimlExpandPlugin 类中,您会发现对BidsHelper.CompileBiml 的版本特定调用

ValidationReporter validationReporter = BidsHelper.CompileBiml(
    typeof(AstNode).Assembly, 
    "Varigence.Hadron.BidsHelperPhaseWorkflows.xml", 
    "Compile", bimlScriptPaths, 
    new List<string>(), 
    tempTargetDirectory, 
    projectDirectory, 
    SqlServerVersion.SqlServer2008, 
    SsisVersion.Ssis2012, 
    SsasVersion.Ssas2008, 
    DeployPackagesPlugin.IsLegacyDeploymentMode(project) ? 
        SsisDeploymentModel.Package : 
        SsisDeploymentModel.Project);

需要注意的是,Varigence 的人员将 BidsHelper 的现有功能作为其产品Mist 的子集提供。其中之一是跳过 XML 混搭,只使用本机 .NET 对象来创建和描述 SSIS 对象。如果您想使用 .NET 对象,则需要购买许可证。

【讨论】:

    【解决方案2】:

    我认为这行不通。我试过了,但正如你在下面的 SO 线程中看到的那样,它没有用。

    Expand BIML files programmatically

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2018-09-27
      • 2015-02-01
      • 2021-12-01
      • 2016-01-25
      • 2021-09-13
      • 2018-12-27
      • 1970-01-01
      相关资源
      最近更新 更多