3

在 BizTalk 2010 中,我使用 SQL 适配器轮询表以创建消息并启动编排过程。

我已经修改了存储过程而不更改架构。但是我在修改它后开始出现错误,并且没有发生 SQL 轮询。所以我重新启动了主机实例并开始工作。

所以这里我的问题是更改存储过程后是否必须重新启动主机实例?

错误是“适配器“WCF-Custom”引发错误消息。详细信息“Microsoft.ServiceModel.Channels.Common.AdapterException:作为类型化存储过程或类型化轮询调用的一部分返回的 ResultSet 与可用的元数据不匹配。如果此存储过程或轮询语句可以返回可变数量的结果集,请考虑改用无类型存储过程或无类型轮询操作。”

任何人都可以请建议可能是根本原因吗?

谢谢, Sasikumar.S

4

1 回答 1

6

是的,您需要重新启动为 WCF-SQL 处理程序配置的主机的主机实例。

在后台,第一次调用特定的存储过程时,WCF-SQL 适配器首先使用 SET FMTONLY ON 执行它;旗帜。这会导致 Sql Server 只返回预期数据的数据类型,而不是执行存储过程本身。适配器在主机进程的生命周期内缓存这些数据类型。

如果更改了存储过程返回的数据,下次执行时就会不同步,无法强制转换成预期的类型。因此,需要重新启动主机实例。

TL;DR - 如果更改存储过程,则需要重新启动 WCF-SQL 主机实例。

于 2013-04-22T01:41:41.020 回答