Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 平面文件连接管理器出现问题_Ssis - Fatal编程技术网

Ssis 平面文件连接管理器出现问题

Ssis 平面文件连接管理器出现问题,ssis,Ssis,我已经构建了一个SSIS包,用于根据平面文件中的数据更新Oracle数据库。该文件包含4列,其中一部分如下所示: 航空提单号托运人参考号PU日期快递员姓名 43737729582 30035024201100 13/05/2011蓝镖 43737729571 30035065201100 13/05/2011蓝镖 43737729560 30035029201100 13/05/2011蓝镖 43737729416 3003327720110013/05/2011蓝镖 43737729420 3

我已经构建了一个SSIS包,用于根据平面文件中的数据更新Oracle数据库。该文件包含4列,其中一部分如下所示:

航空提单号托运人参考号PU日期快递员姓名 43737729582 30035024201100 13/05/2011蓝镖 43737729571 30035065201100 13/05/2011蓝镖 43737729560 30035029201100 13/05/2011蓝镖 43737729416 3003327720110013/05/2011蓝镖 43737729420 30033297201100 13/05/2011蓝镖

这些平面文件是以制表符分隔的。我的包遍历它们并逐个执行它们

我的问题是,我需要在平面文件连接管理器中的每个文件的列信息上按Reset Column,而不是只执行该文件,否则下一行数据将与最后一列合并并出错

请帮助我,因为如果这是我无法自动化我的包


所有这些文本文件都是从excel工作表生成的,方法是将它们保存为文本删除文件。

我建议执行以下步骤,以验证平面文件中的数据是否确实以制表符分隔,并以您在SSIS中配置的行分隔符结束

在计算机上安装软件记事本+

将Excel文件保存为制表符分隔文件后,在记事本++中打开制表符分隔文件

在记事本++中,选择菜单视图->显示符号->显示所有字符,如屏幕截图1所示

橙色箭头表示选项卡。如果你注意到点/句点。在橙色中,这些表示空间。黑色背景中的CR文本表示回车。黑色背景中的LF文本表示换行符

确保文件的外观如屏幕截图2所示

如果文件看起来正确,则在SSIS包的文件连接管理器中,确保行分隔符为{CR}{LF},列分隔符为Tab{t}。请参阅屏幕截图3

希望有帮助

截图1:

截图2:

截图3:


谢谢Siva,这会有帮助…但是当excel文件转换为文本制表符分隔时,除这4列之外的所有额外列都会被计算,如下所示:谢谢Siva,这会有帮助…但是当excel文件转换为文本制表符分隔时,除了这4列之外的所有额外列都在计数中,CRLF位于最后一列之后。告诉我如何仅获取我找到的列,并且CFLF应位于最后一列之后…..在连接管理器中,我找不到选择特定列的选项…在平面文件源中,有..但我需要连接管理器IsSelf仅读取前四列并在最后一列末尾添加行分隔符。。。