我通过SSIS将.csv文件导入sql。一切顺利,虽然我们试图导入的文件不是我所说的"清洁"。我无法做到这一点,因为它来自另一家公司。因此,我在SQL中创建了一个错误表以及导入表。
基本上所有文件(超过14000)都会流入错误表。我已经在Excel中打开了.csv文件,虽然有些行有空格而不是空格,但有一些我认为会经历过。 查看错误代码我得到以下内容:
在我的数据流中有一个fLat文件Source,错误输出到ole db destination 来自平面文件源的数据流转到派生列,以添加具有系统开始日期的列,然后再添加到ole db目标。
虽然
,但没什么特别的ErrorCode - -1071607675 ErrorColumn - 211
sql表中应该导入行的所有列都是(varchar(1500),null) 使用SSIS查看导入文件iself,列的DataType是字符串[DT_STR],输出列宽为150,我觉得还可以。
计划是导入大部分数据然后让数据管理员查看要手动导入的错误或类似于SQL2012 3列错误输出的内容,我必须说这是非常差的,尽管这是另一回事
我无法弄清楚为什么即使这些行中的一行都会导入到正确的sql表中呢?
答案 0 :(得分:0)
错误代码等于错误C0209085 数据被截断。除非您正在处理截断,否则这是一个致命的消息。使用数据查看器忽略截断或调试运行以识别截断条目。
答案 1 :(得分:0)
这是一个日期时间问题。在导入解决之前操作.csv文件。日期从YYYYMMDD更改为YYYY-MM-DD。
非常感谢。