我已经使用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文件加载数据的性能。
答案 0 :(得分:1)
根据MSDN(https://msdn.microsoft.com/en-us/ms139833.aspx)
通过实施快速解析,一个包失去了它的能力 以特定于语言环境的格式解释日期,时间和数字数据 许多常用的ISO 8601基本和扩展格式,但是 包增强了它的性能。例如,快速解析支持 只有最常用的日期格式表示,如 YYYYMMDD和YYYY-MM-DD不执行特定于语言环境的解析, 不识别货币数据中的特殊字符,也不能识别 转换十六进制或整数的科学表示。
因此,您可以使用的唯一日期格式是YYYYMMDD和YYYY-MM-DD。