2017-08-07 16 views
0

私はssis etlパッケージを作成したいと思います。 ssisに新しいです。それでもインターネットからの基礎を学ぶことができ、それに取り組み始めました。 ソース= xml。 宛先= Microsoft SQL Serverデータベース..良好なレコードと不良レコードの2つの別々のテーブル1つ。SSIS:ETLデータ検証 - > XML to SQL(XMLデータ検証)

私の最終的な結果は次のようになります。エラーのある特定の列が来て、下の表に表示されます.1つのxml行に20の不良フィールドがある場合、20個の不良レコードが下の表に別々に表示されます。 悪いレコード構造:

[Slno] 
[LoanNumber] = this is primary key in my source, so this needs to inserted for every bad data column. 
[ErrorField] = i need to insert which input data in xml has error. 
[ErrorFieldValue] = i need to insert what is the value of error column. 
[ErrorMessage]= and a error message based on the validaiton. 

入力XMLデータ=これは、XMLデータの5行を有し、各行は100個のデータフィールドを有します。

SQLデータベーステーブルに入れる前に、xmlのすべてのデータフィールドを検証する必要があります。

データ変換フィールドに基づいて検証しようとしました...入力データソースから(Amount)if = float ..エラーをSQLエラーテーブルの宛先にリダイレクトしますが、マッピング中にすべての適切なフィールドをマップする必要がありますまたは私は特定の列を選択することができますが、入力データに20〜30のエラーフィールドがある場合、エラー値を検証してマップできません。

私の必要なバリデーションは、検証の有効期間、英数字と日付です。フィールドの長さを確認する必要があります。> 10他にはエラーテーブルに移動する必要があります。そのような量は英数字であってはなりません。

私はこれを解決するために手伝ってください。

答えて

0

私が示唆することは、最初にすべてのビジネスルールを満たすXSDを生成することです。このXSDを使用してXMLを検証したら、データフローの一部として有効なXMLを開始します。

スクリプトタスクを使用してXMLデータを検証する方法については、blogです。適切なOleDBConnectionを追加して、エラーテーブルにそのデータを取得することで、探しているエラーを取得するためにコードをさらに微調整することができます。