【发布时间】:2018-02-12 15:14:54
【问题描述】:
我正在尝试创建一个包含多个数据流任务的包。这些任务在性质上非常相似,但包含相当重要的差异。
我尝试复制任务,然后更改需要更改的内容。
当我单独运行该任务时,它运行良好,但是当我与包中的所有其他任务一起运行它时,我收到以下错误:
对象引用未设置为对象的实例。 at ScriptMain.Input0_ProcessInputRow(Input0Buffer Row) 在 UserComponent.Input0_ProcessInput(Input0Buffer 缓冲区) 在 UserComponent.ProcessInput(Int32 InputID, String InputName, PipelineBuffer 缓冲区,OutputNameMap OutputMap) 在 Microsoft.SqlServer.Dts.Pipeline.ScriptComponent.ProcessInput(Int32 InputID,PipelineBuffer 缓冲区)在 Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID,PipelineBuffer 缓冲区)
不是最友好的错误消息。
谁能告诉我这是什么以及如何解决它?我假设有一些变量或其他属性被重复,但是哪一个?
请注意,多个数据流任务中的许多列将具有相同的列名。
【问题讨论】:
-
对象引用未设置为对象的实例意味着您引用的对象为空或无。您的输入是否缺少源或优先级或其他内容?也许它是在您复制任务时被删除的东西。 stackoverflow.com/questions/4660142/…
-
有什么方法可以找出哪个对象?
-
是的。在代码的开头放置一个断点并单步执行。此外,.NET 在没有 null 处理的情况下中断
标签: sql-server ssis etl script-component