将csv文件导入到SQL Server 2008表中
我正在使用SQL Server导入和导出向导从csv文件导入数据以追加到我现有的SQL Server表中。将csv文件导入到SQL Server 2008表中
因此,要将csv文件中的数据追加到我的SQL Server表中,在Choose a Data Source
窗口中,我确保我的csv数据源中的每列与我的SQL Server表列具有相同的数据类型。
但是,我最终导致在导入时出错。
错误0xc02020a1:数据流任务1:数据转换失败。 “成熟度(小时)”列的数据 转换返回状态值2和状态 文本“由于可能丢失 数据,因此无法转换该值。”。 (SQL Server导入和导出向导)
错误0xc0209029:数据流任务1:SSIS错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “输出列”成熟度 (小时)“(42)”因为错误代码0xC0209084发生而失败,并且“输出列”成熟度(小时)“(42)”上的错误行处置 指定 错误失败。 指定组件的指定对象发生错误。在此 之前可能会发布错误消息,并提供有关失败的更多信息。 (SQL Server导入和 导出向导)
我的SQL Server表有Maturity
(小时)int
数据类型。
对于我的csv文件,在SQL Server导出/导入向导中,我为Maturity
(小时)选择了DT_I4
,这相当于SQL Server中的int数据类型。尽管如此,我仍然无法摆脱过去3个小时的错误。
有关如何解决此问题的任何线索?
只要看看csv文件,如果任何字段有逗号(如果您使用逗号作为列分隔符或双引号(如果您使用双引号作为文本限定符)。上述2种情况
注:我把这个作为答案,因为我无法对你的问题发表评论
做的所有领域具有相同长度的数据类型也开 – Ron 2013-03-14 21:06:50
罗恩您好,感谢您的评论。?。 Apaprt确保SQL结束和csv文件上的每个字符串字段的字段大小,如何确保int列的字段大小? – Nemo 2013-03-14 21:09:35
我不确定csv文件中的值,并且列是否有严格地说是int。我会尝试通过将列类型更改为数字并指定精度。 – Ron 2013-03-14 21:14:12