我有一个 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 传递?