2017-08-07 42 views
0

我想創建一個ssis etl包。我對ssis很陌生。仍然設法從互聯網學習基礎知識並開始研究它。 Source = xml。 destination = microsoft sql server數據庫.. 2個單獨的表,一個用於良好記錄,另一個用於不良記錄。SSIS:ETL數據驗證 - > XML到SQL(xml數據驗證)

我的最終結果應該看起來像這樣,具有錯誤的特定列應該出現並位於下表中,如果在單個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個數據字段。

我需要驗證XML中的每個數據字段,然後將其放入到sql數據庫表中。

我試圖驗證基於數據轉換字段...例如,如果從輸入數據源(金額)!=浮子..重定向誤差成SQL誤差表目的地..但同時映射我需要映射所有良好字段或者只有我可以選擇特定的列,但是如果輸入數據中有20-30個錯誤字段無法驗證並映射錯誤值。

我需要的驗證長度驗證,字母數字和日期。我需要檢查字段的長度不應該> 10否則它應該移動到錯誤表,就像這個數量不應該是字母數字和日期應該是適當的。

請幫我解決這個問題。

回答

0

我建議的是首先生成一個符合所有業務規則的XSD。使用此XSD驗證XML,然後繼續開始將有效的XML作爲數據流的一部分。

下面是有關如何驗證使用腳本任務XML數據的blog會談。您可以通過添加適當的OleDBConnection來進一步調整該代碼以獲得您正在查找的錯誤,並將該數據獲取到錯誤表中。