SSIS:平面文件源:FastParse属性 - 日期列 - 错误

时间:2015-06-01 06:49:23

标签: sql-server ssis

enter image description here

我已经使用Flat文件源控件创建了SSIS包并读取了CSV文件。

在CSV文件中:  1.列名称 - 到期  2.日期格式 - 2015年5月31日  3.列数据类型 - DT_DATE

现在,当我在输出中为此列设置FastParse属性时,它会给出以下错误消息。

  

TITLE:包验证错误

     

包验证错误

     

------------------------------附加信息:

     

数据流错误[读取CSV源文件[73]]:“FastParse”自定义   “读取CSV源文件。输出的属性”[平面文件源   输出] .Columns [Expiration]“不能设置为true。列数据   type必须是以下之一:DT_I1,DT_I2,DT_I4,DT_I8,   DT_UI1,DT_UI2,DT_UI4,DT_UI8,DT_DBTIMESTAMP,DT_DBTIMESTAMP2,   DT_DBTIMESTAMPOFFSET,DT_DATE,DT_DBDATE,DT_DBTIME,DT_DBTIME2或   DT_FILETIME。

     

数据流错误[SSIS.Pipeline]:“读取CSV源文件”失败   验证并返回验证状态“VS_ISBROKEN”。

     

数据流错误[SSIS.Pipeline]:一个或多个组件失败   验证

     

数据流出错:任务验证期间出现错误。

     

(Microsoft.DataTransformationServices.VsIntegration)

我是否需要更改某些日期格式才能使用FastParse属性?我在一次操作中读取数百万条记录,这非常耗时。

因此,我想提高从CSV文件加载数据的性能。

1 个答案:

答案 0 :(得分:1)

根据MSDN(https://msdn.microsoft.com/en-us/ms139833.aspx

  

通过实施快速解析,一个包失去了它的能力   以特定于语言环境的格式解释日期,时间和数字数据   许多常用的ISO 8601基本和扩展格式,但是   包增强了它的性能。例如,快速解析支持   只有最常用的日期格式表示,如   YYYYMMDD和YYYY-MM-DD不执行特定于语言环境的解析,   不识别货币数据中的特殊字符,也不能识别   转换十六进制或整数的科学表示。

因此,您可以使用的唯一日期格式是YYYYMMDD和YYYY-MM-DD。