1

我已将我的项目级别保护级别设置为 EncryptSensitiveWithPassword,并且在我使用 BIML 生成的所有包中,我都有以下代码

<Package Name ="MyPackage" ProtectionLevel="EncryptSensitiveWithPassword" PackagePassword="mypass">

出于某种原因,每次使用 BIDS Helper 生成包后,我都必须手动将 ProtectionLevel 设置为 EncryptSensitiveWithPassword。这是一项痛苦的工作。我不知道为什么不应该工作。有什么线索吗?

我正在使用从 Codeplex 和 SQL Server Data Tools 版本 2012 下载的 1.7.0 版本的 BIDSHelper(您可能已经知道令人困惑的部分是 VS 版本是 2010)

更新: 下面是 iamdave 推荐的 biml 新结构,它不会在 ProjectSubPath 中生成任何输出,并且 ExceptionDataMigrator 包仍在使用默认包保护生成

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
    <Projects>
        <PackageProject ProjectSubpath="bimlOutput"
                Name = "Solution/Project"
                ProtectionLevel = "EncryptSensitiveWithPassword"
                ProjectPassword = "password"
                >
            <Parameters>
                <Parameter Name="sTestParam" DataType="String">This is project parameter</Parameter>
            </Parameters>
            <Packages>
                <Package PackageName="ExceptionDataMigrator">

                </Package>
            </Packages>

        </PackageProject>
    </Projects>
    <Connections>
        <Connection Name="Staging" CreateInProject="true" ConnectionString="Data Source=b.database.windows.net;User ID=h;Initial Catalog=Migration_Staging;Password=z;Provider=SQLNCLI11.1;Auto Translate=False;" RetainSameConnection="true" />
        <Connection Name="Reporting" CreateInProject="true" ConnectionString="Data Source=Dev2;Initial Catalog=ng;Provider=SQLNCLI11;Integrated Security=SSPI;Auto Translate=false;" RetainSameConnection="true" />
        <Connection Name="SalesForceDB" CreateInProject="true" ConnectionString="Data Source=db;Initial Catalog=SalesForce;Provider=SQLNCLI11;Integrated Security=SSPI;Auto Translate=false;" />
    </Connections>
    <Packages>

    <Package Name="ExceptionDataMigrator" ConstraintMode="Linear" ProtectionLevel="EncryptSensitiveWithPassword" PackagePassword="password">
        <Parameters>
4

1 回答 1

1

您是在与 BIML 文件相同的 VS 项目中创建包还是作为全新的解决方案创建包?如果我没记错的话,我遇到了类似的问题,并通过ProjectSubPath在 的<PackageProject>节点中指定 a 来解决它<Projects>,因为在我的 BIML 项目中创建的包继承了 BIML 项目的保护级别:

<Projects>
    <PackageProject
            ProjectSubPath = "Folder to save new solution"
            Name = "Solution/Project Name"
            ProtectionLevel = "EncryptSensitiveWithPassword"
            ProjectPassword = "Password"
            >
        <Parameters>
            <!-- Add Parameters here -->
        </Parameters>
        <Packages>
            <Package PackageName = "Package 1" />
        </Packages>
    </PackageProject>
</Projects>

在您指出的地方要非常小心ProjectSubPath,因为它将完全删除该地址中已经存在的任何文件夹,无论它包含什么,然后重新创建它并在其中创建新的解决方案。

于 2016-08-30T11:21:36.220 回答