ssis - 有没有办法在 BIML Express 中使用 BIML 来重命名项目

标签 ssis biml

由于我不再积极使用 BIML Studio 进行开发,因此我正在转换现有项目,以便可以使用 BIML Express 在 Visual Studio 中编译它们。

随着我们慢慢删除 SSIS,BIML Studio 的成本大大超过了 yield ,最终,我仍然可以使用 BIML Express 构建我需要的内容。

除了两个问题外,这在很大程度上是一种直接的转变操作:

  1. 项目参数(已详细记录)
  2. 动态重命名项目和生成的 ispac 包

第2点是我想尝试解决的问题。

我使用了 BIML Studio 项目中的现有代码,该项目使用 PackageProject Name 和 ProjectSubpath 值:

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
    <Projects>
        <PackageProject Name="Project FooBarBaz" ProtectionLevel="DontSaveSensitive" ProjectSubpath="FooBarBaz" >
            <Parameters>                
                <Parameter DataType="String" IsRequired="true" Name="SomeParameter">abc</Parameter>
            </Parameters>
            <Packages>
                 <!-- Foreach block getting package names from Rootnode -->
            </Packages>
            <Connections>
                        <!-- some connections in here -->
            </Connections>
        </PackageProject>
    </Projects>
</Biml>

使用上述标签,我预计项目名称会在 VS 中更改,但事实并非如此。项目名称与生成 SSIS 包之前 VS 中的值保持一致。

有谁知道使用 BIML Express 是否可以实现这一点?或者这是否类似于我们遇到的 BIML 无法生成项目参数的问题?

谢谢

最佳答案

不,BimlExpress 不会更改项目名称。

从逻辑上讲,在 Visual Studio 中激活 BimlExpress 的唯一方法是在开放的 ssis 项目的上下文中。 BimlStudio 在您编译 Biml 时创建项目定义以及包、项目参数和项目级连接管理器。

我认为要求 BimlExpress 重命名打开的现有项目会导致 VS 崩溃。 BE 不会生成新项目,这是一个尴尬的循环,您会不断生成新的 vs 实例。

最后,如果您的 BimlStudio 解决方案生成了许多项目,您也许可以在 BimlExpress 中进行相同的操作。您需要编写自己的填充程序来收集给定 PackageProject 的所有工件并写入文件。最大但最丑陋的是,您需要预先计算您的 guid 并显式地将它们分配给连接管理器、包等,然后将其填充到项目文件中。哦,我假设项目保护级别是不保存敏感。我不想知道如何破解这个坚果......

关于ssis - 有没有办法在 BIML Express 中使用 BIML 来重命名项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56438809/

相关文章:

sql-server - 文本限定符仍未在我的 CSV 上传中正确包含逗号

oracle - SSIS 2008 Excel 目标连接错误 - 0x80040E37

biml - 是否可以从 BIML 中的 GetTableSql() 中删除列

ssis - 如何以编程方式在 SSIS 中使用 "Foreach From Variable Enumerator"创建 foreach 循环

ssis - 无法为 SSIS 中的分层生成 BIML 脚本

ssis-2012 - 使用 BIML -SSIS 将 Xml 文件加载到 OLEDB 目标

c# - BIML SsisDataTypeOverride 不工作

sql - 连接到 "srvrname"上的集成服务失败 : "The specified service does not exist as an installed service."

sql - SSIS (DT_Decimal) 到 (DT_Str) 删除小数的尾随零

merge - 在数据流任务中,如何使用其他源的值限制行流动?