19

私はこれとまったく同じ問題を抱えていますが、これは私が同じ問題を見た唯一の場所であり、解決されていません。

問題が何であるかを知っている人はいますか?

Visual Studio にチェックインしましたが、私の SSIS バージョンは 11.0.2100.60 です (試用版でもベータ版でもありません)。

編集:これらは私が取っている手順と問題です

まず、接続マネージャーを選択し、右クリックしてプロパティを選択し、式オプションをクリックします 第一歩

次に、プロパティ式ビルダーで接続文字列プロパティを選択し、式オプションをクリックします ここに画像の説明を入力

最後に、[式ビルダー] ダイアログには変数のオプションがありません。私が読んだすべてのページには、変数ノードが必要であると書かれています。 ここに画像の説明を入力

何か不足していますか?

4

3 に答える 3

39

SSIS 2012 では、プロジェクト レベルの接続マネージャーの概念が導入されました。ユーザーがプロジェクト レベルのフラット ファイル接続マネージャーを作成し、それをローカル変数で構成できないという、MSDN フォーラムの参照された投稿で私が見たもの。それが問題だと仮定すると、私の答えは次のとおりです。

通常、SSIS プロジェクトは複数のパッケージです。生活を簡素化するために、SSIS チームはプロジェクト間で共通のリソースを共有できるようになりました。接続マネージャーはそのリソースの 1 つです。

論理的には、何かがプロジェクト全体で共有されている場合、1 つのファイルにしか存在しないものがそのリソースをどのように構成できるのでしょうか? その構成変更は、Package1 が実行されている場合にのみ機能します。Package2 が起動すると、同じ変数と同じ式が共有リソースに適用されない限り、異なる結果が発生します。これはメンテナンスの悪夢であり、強力な構成プラクティスがない場合は既に経験している可能性があります。

プロジェクト レベルでフラット ファイル接続マネージャーを作成すると、同じプロジェクト レベルの変数しか参照できません。ただし、プロジェクト レベルには変数はありません。代わりに、パラメーターと呼ばれます。

そのために、私はと呼ばれるパラメータを作成しましたSomeProjectParameter

プロジェクト パラメータ

次に、パッケージ Package1.dtsx を作成し、2 つのフラット ファイル接続マネージャー (FlatFileConnectionManagerLocal と FlatFileConnectionManagerProject) を追加しました。

そのパッケージの代わりに、SomeLocalVariable という変数も作成しました。

このスクリーンショットは、FlatFileConnectionManagerLocal の ConnectionString プロパティに式を適用する様子を示しています。SomeLocalVariableパッケージ変数が利用可能であることがわかります。SomeProjectParameter

パラメータとローカル変数を使用したローカル CM の式ビルダー

ここで、プロジェクトの接続マネージャーに式を適用しようとすると、プロジェクト パラメーターしか使用できなくなります。

プロジェクト CM と利用可能なパラメーターのみ

SSIS パッケージのコンテキスト外では、プロジェクト レベルの接続マネージャーに式を適用できないことに注意してください。SSIS パッケージを開くまで、エディターを使用することはできません。ただし、適用すると、プロジェクト内のすべてのパッケージが同様に構成されます。

私が推測するIDEの癖。また、これらのスクリーンショットに色が欠けていても心配しないでください。私は SSDT の 2012 バージョンで実行しています。

于 2013-03-21T19:59:49.183 に答える
9

フラットファイルソースがプロジェクトソースとして設定されていたため、同じ問題が発生したため、パッケージ接続に変換する必要がありました。

初期フラット ファイル ソース

ソースを右クリックし、パッケージ接続への変換を選択します

パッケージ接続に変換

多分これが役立つでしょう。

于 2017-09-13T12:32:16.203 に答える