我有一个BizTalk业务流程,它使用带有WCF-SQL适配器的生成模式发送映射到存储过程的消息。存储过程的一个参数是表值参数。当有BT可以转换为表值的记录时,这工作正常。但是,如果记录为零,我仍然需要触发proc,因为还提供了其他参数,但仍可以对其进行操作。但是编排与
崩溃了System.NotSupportedException: DBNull value for parameter '@DetailRecords' is not supported. Table-valued parameters cannot be DBNull.
显然你可以解决这个错误并执行存储过程而不提供该参数,SQL Server将自动生成一个空表。
有没有办法让BizTalk触发包含表值参数的存储过程,而不尝试将参数作为DBNull传递?
答案 0 :(得分:2)
首先,将记录计数 functoid连接到源架构上的重复元素。获取它的输出并将其连接到大于 functoid以检查行计数是否大于零。最后,将记录计数 functoid的输出端挂钩到目标端的表值参数。