我正在运行一个 SSIS 包,它通过 SP 调用一个 SP 形式的 Mysql DB。
- 获取 sql server 表中的值列表。
- 将每个值作为参数传递给 mysql 中的 SP。
- 一旦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 行,则打包成功。
也欢迎解决方法。