Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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
Sql server 仅在控制流中发生SSIS截断错误_Sql Server_Csv_Ssis_Ssis 2012 - Fatal编程技术网

Sql server 仅在控制流中发生SSIS截断错误

Sql server 仅在控制流中发生SSIS截断错误,sql-server,csv,ssis,ssis-2012,Sql Server,Csv,Ssis,Ssis 2012,我有一个软件包,它给了我一个非常令人困惑的“文本被截断或一个或多个字符在目标代码页中不匹配”错误,但只有当我在控制流中运行完整的软件包时,而不是当我单独运行任务时 第一个任务获取CSV文件并将它们合并到一个文件中。下一个任务读取上一个文件的输出并开始处理记录。真正奇怪的是,在第二步中平面文件源中抛出了截断错误。这是与上一步中的目标完全相同的平面文件源 如果存在截断错误,那么前一个尝试创建文件的步骤不会抛出该错误吗?既然第一步创建的文件没有截断,为什么我不能在下一个任务中读取相同的文件呢 注意-唯

我有一个软件包,它给了我一个非常令人困惑的“文本被截断或一个或多个字符在目标代码页中不匹配”错误,但只有当我在控制流中运行完整的软件包时,而不是当我单独运行任务时

第一个任务获取CSV文件并将它们合并到一个文件中。下一个任务读取上一个文件的输出并开始处理记录。真正奇怪的是,在第二步中平面文件源中抛出了截断错误。这是与上一步中的目标完全相同的平面文件源

如果存在截断错误,那么前一个尝试创建文件的步骤不会抛出该错误吗?既然第一步创建的文件没有截断,为什么我不能在下一个任务中读取相同的文件呢

注意-唯一使这个包不同于我所研究的其他包的是,我正在处理特殊字符,并使用代码页65001 UTF-8捕获具有特殊字符的字段。我的其他包都引用了带有代码页1252的平面文件连接管理器


问题是由foreach循环和使用ColumnNamesInFirstDataRow表达式引起的,其中我有公式“@[User::count\u raw\u input\u rows]<0”。我将一个变量初始化为-1,并将其分配给平面文件的ColumnNamesInFirstDataRow。在循环中,每次读取CSV文件时,我都会使用行计数器更新变量。这会在第一次放置头(-1),但避免在所有其他CSV文件上重复。当我退出循环并尝试读取输入文件时,它会将头视为数据并爆炸。我只是在上一个包中避免了这一点,因为我没有像在这个包中那样收紧平面文件的列定义。谢谢你的帮助。

第一项任务是什么?这是一个数据流任务吗?问题是你们的控制流有问题。您可以发布屏幕截图吗?第一个任务是合并每个CSV文件的foreach循环。第二个任务是数据流任务,它在最顶端使用foreach循环生成的输出文件作为输入文件。我将看看是否可以添加一个JPG文件。作为提醒,如果我只运行第二个任务本身,则不会抛出错误。