SSIS中字符串转日期格式导入数据库
平面文本中存在一列時間數據,格式為yyMMdd,需要導入數據庫中,對應數據庫中的字段類型為datetime,直接導入會出現如下錯誤:
[OLE DB 目標 [248]] 錯誤: SSIS 錯誤代碼 DTS_E_OLEDBERROR。出現 OLE DB 錯誤。錯誤代碼: 0x80004005。
已獲得 OLE DB 記錄。源:“Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 說明:“對于造型說明無效的字符值”。
已獲得 OLE DB 記錄。源:“Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 說明:“對于造型說明無效的字符值”。
[OLE DB 目標 [248]] 錯誤: 輸入“OLE DB 目標輸入”(261) 上的 輸入列“ERDAT”(419) 出錯。返回的列狀態是:“由于可能丟失數據,所以無法轉換該值。”。
?
解決辦法:
添加派生列,對時間數據列轉換成符合SSIS時間格式的字符串,
如字符串“20100601”,對應數據庫的“2010-06-01 00:00:00”
1、工具箱拖出“派生列”組件,連接平面文件源
2、作為新加列添加新列 ,表達式改為
SUBSTRING(ERDAT,1,4) + "-" + SUBSTRING(ERDAT,5,2) + "-" + SUBSTRING(ERDAT,7,2) + " 00:00:00"
如圖:
再執行鏈路執行成功!
轉載于:https://www.cnblogs.com/kobeycs/archive/2012/08/22/2650699.html
總結
以上是生活随笔為你收集整理的SSIS中字符串转日期格式导入数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LoadRunner实战
- 下一篇: LoadRunner常遇见的问题