SSIS:从CSV文件中读取中文日期并插入到SQL表中

时间:2013-10-16 10:46:36

标签: sql ssis

我有一个CSV文件,该文件包含empname&加入日期。 CSV文件中的所有文本都是中文。 实施例

中国上汽,2008年12月18日
中国石油,2008年12月18日

我想读取这个datetime列并使用SSIS包将其插入到SQL表中。 我收到错误消息

[OLE DB Destination [9]] Error: There was an error with input column "工资结束期" (85) on input "OLE DB Destination Input" (22). 
The column status returned was: "The value could not be converted because of a potential loss of data.".

1 个答案:

答案 0 :(得分:0)

我的猜测是你在较小的sql表列中尝试插入更大的列。如果是,您有两个选择:

  1. 制作更大的sql表列
  2. 从CSV文件中创建较小的列。
  3. 第二个选项,您可以插入'Derived column'元素并添加旧列子字符串(如下所示):

    SUBSTRING(工资结束期, 1, 22)
    

    修改

    您可以在日期使用派生列元素:

    (DT_DBDATE)(SUBSTRING("2008年12月18日",1,4) +"-"+ SUBSTRING("2008年12月18日",6,2)
    + "-" + SUBSTRING("2008年12月18日",8,2))
    

    只需将"2008年12月18日"更改为您的专栏。