我有一个脚本组件,它接受来自 SQL Azure 数据库表的记录。然后该脚本调用一个 Web 服务,该服务返回失败和成功记录的数量。
对于所有记录,我想添加具有“成功”或“失败”的状态字段,这会从脚本组件获取输出。
然后我将这些输出记录到一个文本文件中。
问题:我无法为每个输入记录添加状态,因为 Web 服务调用仅在执行后发生。
我试过这个,但仍然不起作用:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
listOfData.Add(new ClockData
{
TimeClockID=Row.TimeClockID,
PersonID=Row.EmployeeCode,
LocationCode=Row.ClockInServiceContextID,
ClockInDateTime=Row.ClockInDateTime,
ClockOutDateTime=Row.ClockOutDateTime
});
}
public override void CreateNewOutputRows()
{
MessageBox.Show("Test CreateNewOutputRows");
MessageBox.Show(listOfData.Count.ToString());
foreach (var item in listOfData)
{
Output0Buffer.AddRow();
Output0Buffer.EmployeeCode = item.PersonID;
MessageBox.Show(item.PersonID);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个用管道分隔的平面文件,如下所示:
header|header2
abc|abcdef
abc|abcdef
Run Code Online (Sandbox Code Playgroud)
当我在 64 位机器上创建包时,它总是删除最后一条记录。但是在预览时它显示了两条记录。
更新:
如果我这样做,它会起作用:
header|header2
abc|abcdef
abc|abcdef
|
Run Code Online (Sandbox Code Playgroud)
这是为什么,我该如何解决?
我有一个 SSIS 数据流任务。其中我有源平面文件和 OLEDB 目标。我有一个错误输出发送到 OLEDB 目标上的重定向行。
问题是重定向行始终运行,即使没有错误。这是 SSIS 包的错误吗?如果有人可以提供帮助,将不胜感激。
例如
我在 SSIS 2008 中有一个数据流。它从平面文件中读取数据并插入到数据库中。
平面文件是 CSV。出于某种原因,平面文件连接管理器中的所有字段似乎都有 50 个 OutPutColumnWidth。
有人可以建议如何修复它。我收到以下错误: 由于从数据流列插入数据,可能会发生截断