0

我正在运行一个 SSIS 包,它通过 SP 调用一个 SP 形式的 Mysql DB。

  1. 获取 sql server 表中的值列表。
  2. 将每个值作为参数传递给 mysql 中的 SP。
  3. 一旦SP返回数据,经过适当的数据转换后,将其插入到sql server中的表中。

当 SP 返回数据时,包运行良好。但是,当 SP 返回 0 行时,包将失败并出现以下错误:

[ADO NET Source 1 1 [126]] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PreExecute()
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper).

我的期望是包应该成功,如果 SP 返回 0 行,则不向表中插入任何行。

我的意思是为什么它会在 ADO NET Source 中引发异常...

注意,如果 SP 返回超过 0 行,则打包成功。

也欢迎解决方法。

4

0 回答 0