我有一个我正在做的任务,这让我很困惑。希望你能帮我。我使用的数据流任务基本上就是在sqlite表中插入一行。我使用"SQL Task“来完成此操作,但不幸的是,成功将guid插入sqlite表的唯一方法是使用数据流任务将其转换为字节流。我不想使用源数据库,因为我的数据不是从一个表流向另一个表。我真的只想把我填充的变量转换成字节流,然后就可以成功地插入到sqlite数据库中。问题是,我不能在没有源数据库的情况下使用数据流任务。
到目前为止,我的变通方法是声明一个源数据库/表,并且只声明一列(但从不在数据流中使用它)。这可以很好地工作,并且我无法使用我的预设变量将行插入到sqlite中,但每次执行此操作时,我的输出日志中都会出现一条令人生厌的消息:
警告: 0x80047076 at,SSIS.Pipeline:输出"OLE DB Source Output“(11)和组件"OLE DB Source”(1)上的输出列"“(117)随后不在数据流任务中使用。删除此未使用的输出列可以提高数据流任务的性能。
有没有人知道一个好方法来提醒你不要出现?
发布于 2012-09-07 00:47:44
在数据流中,选择一个脚本组件。
当系统提示选择源、目标或转换时,请选择源。
将预先填充的变量添加到script选项卡的CustomProperties.ReadOnlyVariables部分。
转到输入和输出部分。
在每个变量的默认输出中添加一列。
在您的脚本中(如果使用C#),在CreateNewOutputRows()部分中放置类似以下内容的内容
Output0Buffer.AddRow();
Output0Buffer.ContainerName = Variables.ContainerName;
Output0Buffer.TaskName = Variables.TaskName;
Output0Buffer.TaskStartDate = Variables.ContainerStartTime;保存您的脚本。
将脚本组件连接到目标对象。
发布于 2012-09-04 15:32:54
如果这导致包执行失败,您可以选择忽略这些警告/错误。
只需双击数据流中的源块并导航到左侧窗格中的最后一个选项卡(“Error OUtput"),然后您需要选择忽略错误的选项。(我不知道该选项中的哪个短语可以做到这一点)
https://stackoverflow.com/questions/12251885
复制相似问题