SSIS中字符串转日期格式导入数据库
平面文本中存在一列時間數(shù)據(jù),格式為yyMMdd,需要導入數(shù)據(jù)庫中,對應數(shù)據(jù)庫中的字段類型為datetime,直接導入會出現(xiàn)如下錯誤:
[OLE DB 目標 [248]] 錯誤: SSIS 錯誤代碼 DTS_E_OLEDBERROR。出現(xiàn) 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) 出錯。返回的列狀態(tài)是:“由于可能丟失數(shù)據(jù),所以無法轉(zhuǎn)換該值?!薄?/p>
?
解決辦法:
添加派生列,對時間數(shù)據(jù)列轉(zhuǎn)換成符合SSIS時間格式的字符串,
如字符串“20100601”,對應數(shù)據(jù)庫的“2010-06-01 00:00:00”
1、工具箱拖出“派生列”組件,連接平面文件源
2、作為新加列添加新列 ,表達式改為
SUBSTRING(ERDAT,1,4) + "-" + SUBSTRING(ERDAT,5,2) + "-" + SUBSTRING(ERDAT,7,2) + " 00:00:00"
如圖:
再執(zhí)行鏈路執(zhí)行成功!
轉(zhuǎn)載于:https://www.cnblogs.com/kobeycs/archive/2012/08/22/2650699.html
總結
以上是生活随笔為你收集整理的SSIS中字符串转日期格式导入数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LoadRunner实战
- 下一篇: MySql数据库操作遇到的蛋疼二三事