3

SQL/BIDS 2005 (現在の PROD 環境) を実行しています。

私はいくつかの基本的な POC を実行しようとしていますが、タスクはかなり簡単です。

  • ハード ドライブから XML ファイルを取得する
  • マッピングを行う
  • 結果で DB を更新する

私が取ったステップ:

  • 新しいパッケージを作成する
  • データ フロー タスクの追加
  • データ フローに XML ソース タスクを追加する

XML ソース プロパティで XML と XSD の場所を指定すると、すべて問題なく動作します。

すべての XML フィールドが正常に表示されるので、マッピングなどを進めることができます。

上記は明らかに受け入れられません。私がする必要があるのは、XML と XSD の両方の値を変数から (そして後で構成ファイルから) 渡すことです。

そこで、Data Flow の Expressions に移動し、XML と XSD を変数に指定しました (結果を評価したところ、完璧でした)。

…それが機能しないことを除いて。
Open the XML source タスクを実行しようとすると、次のメッセージがスローされます。

コンポーネントは、検証中に潜在的なメタデータの破損を検出しました。 次に、オブジェクト参照 nopt がインスタンスに設定されたスタックを提供します... Dts.Pipeline.ManagedComponentHostValidate(IDTSManagedComponentWrapper90 wrapper) から始めます

前述したように、xml doc とスキーマ、および適切にフォーマットされたものを検証します。それらをxmlソースに直接渡すと機能します。これらの値をデータ フロー レベルから (式として) 渡そうとした場合にのみ機能しません。

4

1 に答える 1

1

データフローに追加された列に対する SSIS 2005 の反応が悪い場合があります。それらは、データフローの後続のステップ間の「矢印」でうまく認識されていないように見えました (これは、SSIS の後のバージョンで改善されました)。

これらの矢印のプロパティ、特に「メタデータ」タブを見て、実際にすべての列が含まれているかどうかを確認できます。残念ながら、すべてのデータフロー ステップを削除して、列の完全なセットを最初から使用していることを確認しながら、系統的に再構築する必要がしばしばありました。

はい、ほとんどの場所で変数を使用できます。探す必要があるのは、「式」プロパティです。それは必ずしも明らかではありません。ここで、変数を使用するように指示します。BIDS でこれを行うと、開発環境で変数が設定されているものは何でも使用され、その変数設定を反映するようにテキスト プロパティが設定されます。これは一時的なものです。後で、実行時に、実行時に指定した変数を実際に使用します。ただし、開発中は、変数は実際には、正しい構造を持つ有効なファイルなどを指している必要があります。そうしないと、データフローを構築できません。それが SSIS の仕組みです。それ以降のバージョンでは変更されていません。

PS、関連する質問 hereに詳細を追加しました。

接続マネージャーを「編集」すると、編集ウィンドウが表示されます。それはあなたが望むものではありません。空のボックスの前に「式」エントリがある「プロパティ」ウィンドウを見てください。

空のボックスをクリックすると、3 つのドットが表示されたボタンが表示されます。そのボタンをクリックします。これにより、「プロパティ式エディタ」が表示されます。左側に「ConnectionString」などのプロパティを含むドロップダウンがあります。右側には、3 つのドットがある ANOTHER ボタンがあります。そのボタンをクリックして、「式ビルダー」を表示します。変数を宣言している場合は、左上隅に User::VariableName のようにリストされていることがわかります。それらを [式] ボックスにドラッグすると、@[User::VariableName] のように表示されます。 . 明らかではありませんが、実行可能です。

于 2013-03-05T18:35:13.890 に答える