Ssis

SSIS派生列在CAST函式上給出錯誤

  • February 16, 2017

我正在嘗試(DT_DATE) DATEADD(dd, -1, GETDATE())在派生列中使用。但是,當我可以開始編寫我的表達式時,(DT_DATE)它會變成紅色並顯示錯誤。無論是(DT_DATE)坐在那裡還是完整的表達都會引發錯誤。

這是錯誤的螢幕截圖錯誤報告

還:

  • 如果我刪除這個派生列表達式,我的包的其餘部分工作正常,包括不同的派生列
  • 我所做的只是獲取一個 Excel 文件,向其中添加兩個派生列,然後放入 SQL 數據庫

基本上它似乎不想接受(DT_DATE)。我確定我在這裡犯了一些小錯誤,但我已經嘗試了我能想到的一切,任何幫助將不勝感激。

如錯誤消息所示,您沒有使用您在問題中顯示的表達式。

嘗試解析表達式“(DT_DATE)DATEADD(DAY,-1GETDATE())”失敗並返回錯誤

你有問題的表達是Batch_as_of_Date

(DT_DATE)DATEADD(DAY, -1, GETDATE())

如果您沒有在第一個參數周圍加上雙引號,SSIS 會嘗試將其解析為列。DAY由於您的輸入列中沒有列,因此您會收到以下錯誤消息:

嘗試查找名為“DAY”的輸入列失敗….

所以你的表達需要是

DATEADD("Day", -1, GETDATE())

這在DATEADD(SSIS 表達式)中有明確記錄

引用自:https://dba.stackexchange.com/questions/164472