首先,我确实花了很多时间研究,我知道有很多相关的问题,但我找不到这个问题的正确答案。
我正在创建一个SSIS包,它执行以下操作: 1.使用HTTP连接在本地下载和存储CSV文件。 并且2.读入CSV文件并存储在SQL Server上。
由于我的平面文件的结构,平面文件连接一直给我带来错误,在SSIS中都像SQL导入向导一样。
文件的结构是:
"name of file"
"columnA","columnB"
"valueA1","valueB1"
"valueA2","valueB2"
因此行分母是行尾{CR} {LF},列分母是逗号{,},带有文本限定符“。
我只想导入值,而不是文件名或列名。
我玩了设置并使用以下设置进行了正确的预览(见下图)
- Header rows to skip: 0
- Column names in the first data row: no
- 2 self-configured columns (string with columnWidth = 255)
- Data rows to skip: 2
当我运行SSIS包或SQL导入向导时,出现以下错误:
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。该 Flat File Source上的PrimeOutput方法返回错误代码0xC0202091。 当管道引擎调用时,组件返回失败代码 PrimeOutput()。失败代码的含义由 组件,但错误是致命的,管道停止执行。 在此之前可能会发布错误消息以获取更多信息 关于失败。
我无法弄清楚出了什么问题以及我可以做些什么来使这个导入工作。
答案 0 :(得分:1)
如果要跳过文件名和列名,则需要将Header Rows to skip
设置为2.还应检查文件是否实际使用换行符(LF)而不是CR + LF。检查文本编辑器中的换行符不足以检测差异,因为大多数编辑器都会正确显示同时包含CR+LF
或LF
的文件。
您可以点击平面文件来源中的“预览”按钮来查看设置的结果。如果设置正确,您将看到一个网格,您的数据正确对齐。如果没有,你会得到一个错误,或者数据会以某种方式出错,例如,第一个数据行中的列数,列名等很多