4

パッケージ テンプレートの既定の場所を変更できますか? または、少なくとも場所を追加しますか?

いくつかのテンプレートを作成してソース管理に追加したいのですが、フォルダーのファイルをソース管理に追加することにあまり熱心ではありませんC:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems

どのように対処しますか?

4

3 に答える 3

1

移動しようとしたことはありませんが、テンプレートを構築したとき、データベースの構成設定やテンプレート パッケージなどの共通の素材 (私たちはそのように創造的です) を含む Common プロジェクトがありました。このソリューションには、テンプレートを上記のパスにコピーするポストビルド スクリプト以外には何も含まれていないスタートアップ プロジェクトもありました。そうすれば、人々はこの「複雑なコピー」について心配する必要がなくなりました。

copy /y "$(SolutionDir)\SQL\SSIS\PackageTemplate.dtsx" "$(DevEnvDir)\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems"

rvphx が思い出したように、テンプレートを使用してパッケージ ID をリセットする人が必要です。そうしないと、sysdtslog90/sysssislog テーブルに対するレポートが非常に複雑になります。無料のビジュアル スタジオ アドオンであるBIDSHelperには、プロジェクト ウィンドウから GUID をリセットする機能があります。独自のテンプレートで遭遇したもう 1 つの問題は、提供した物理ファイル名が SSIS 内の Package Name プロパティと一致しないことでした。ジャンクの物理ファイル名を割り当ててから適切な名前に変更するか、パッケージのプロパティで修正することを忘れないでください。

于 2013-02-22T14:28:43.170 に答える
1

あなたの質問に率直に答えるには:

いいえ、変更できません。いいえ、これ以上場所を追加することはできません。

説明したように、ある場所からこのフォルダーにコピーするスクリプトを作成できます。これは私たちのほとんどが行うことです。

于 2013-02-23T15:14:28.033 に答える
1

私たちが使用しているテンプレートはごく普通のもの (ほとんどが SSIS 2008 の標準変数、接続マネージャー、およびイベント ハンドラーの束) であり、数年前にNAntスクリプトを作成して、単純な 1 つのパッケージ ソリューションを構築しました。.dtsx 形式は単なる XML であるため、最小限のパッケージからテキスト テンプレート ファイルを作成し、NAnt の<replacetokens>タスクを使用してパッケージ名や GUID などを置き換えることはそれほど難しくありません。NAnt では C# コードをスクリプトに埋め込むことができるため、一意の GUID を作成することも簡単です。

<script language="C#" prefix="script" >
    <references>
        <include name="System.dll" />
        <include name="System.DirectoryServices.dll" />
    </references>
    <imports>
        <import namespace="System.DirectoryServices"/>
    </imports>
    <code>
        <![CDATA[
        [Function("create-guid")]
        public static string CreateGuid() 
        {
            return Guid.NewGuid().ToString().Trim();
        }
        ]]>
    </code>
</script>

<property name="PACKAGE_DTSID_GUID" value="${script::create-guid()}"/>
<property name="PACKAGE_VERSION_GUID" value="${script::create-guid()}"/>
于 2013-02-22T18:10:46.550 に答える