2009-08-06 66 views

回答

2

沒有內置的功能,但你可以運行一個腳本任務和使用vb.net代碼,以檢查是否列是一個日期,並根據需要對其進行操作...

1

有一個數據轉換任務可以放入。然後根據需要重定向行,無論是完全導入失敗還是重新映射不起作用的行。

或者你可以嘗試有條件拆分wher億郵投領域一個日期數據類型,然後沿着另一條路徑發送失敗(或者刪除記錄或歸零了場將是共同行動。)

+0

如何在Dataconversion任務中驗證日期? – rmdussa 2009-08-12 00:05:53

+0

單擊該按鈕可配置錯誤輸出並選擇重定向行。然後將故障線路連接到您想要執行的任何任務,如果記錄沒有執行;則轉換爲日期。通常,我將這些類型的錯誤移動到可以檢查行並查看問題的表格中。通過這種方式,我可以編寫代碼來修復問題或將數據發回給源代碼,要求他們修復或決定清空該文件或需要執行的任何操作。如果我找到某些類型(或百分比)的不良數據,我也可能會導致導入失敗。 – HLGEM 2009-08-12 13:15:46

+0

首先需要如何驗證日期?我的主要目的是找到給定值是否有效日期 – rmdussa 2009-08-12 22:32:25

1

我有類似的問題。我在一個文本文件中有一個日期/時間,但該字段在日期和時間之間有一個短劃線。我創建了一個派生列做的破折號替換:

REPLACE([TimeField], "- ", "")

我再添加了一個轉換列到外地轉換爲日期。我選擇忽略錯誤。然後我添加了另一個派生列來檢查轉換的字段是否爲NULL,表示它不能轉換該值。如果是這樣,我已將它設置爲當前日期。

0

您可以檢查您的變量是否有一個日期或不使用條件語句是這樣的:

testDateVariable?true:false 

例如,如果date > 2那麼true(並把日期,或格式化日期爲你希望)。如果它是false,則將null(將true替換爲日期格式,將false替換爲null)。

所有這些都在SSIS中的驅動列中。

+0

這不是一個問題,不幸的是。你如何測試它是一個日期,而不是日期是否具有特定的值。 – Rich 2013-07-24 15:58:33