完成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
我只是不确定如何使用它。
感谢您的帮助。
答案 0 :(得分:6)
您链接的代码是一种基于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 mashing并只使用本机.NET对象来创建和描述SSIS对象。如果您想使用.NET对象,那么您需要购买许可证。
答案 1 :(得分:0)
我认为这不会起作用。我试过了,但正如你在下面的SO帖子中看到的那样,它没有用。