在更改存储过程时是否必须重新启动主机实例?

sas*_*ram 3 biztalk

在BizTalk 2010中,我使用SQL Adapter来轮询表以创建消息并启动编排过程.

我修改了存储过程而不更改架构.但是我在修改它之后开始收到错误并且没有发生SQL轮询.所以我重新启动了Host实例,它开始工作了.

所以我的问题是在更改存储过程后是否强制重启主机实例?

错误是"适配器"WCF-Custom"引发了错误消息.详细信息"Microsoft.ServiceModel.Channels.Common.AdapterException:作为Typed Stored Procedure或Typed Polling调用的一部分返回的ResultSet与可用的元数据不匹配.如果此存储过程或轮询语句可以返回可变数量的结果集,请考虑使用未键入的存储过程或未键入的轮询操作."

任何人都可以建议可能是什么根本原因?

谢谢,Sasikumar.S

Bre*_*ett 6

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

在引擎盖下,第一次调用特定的存储过程时,WCF-SQL适配器首先使用SET FMTONLY ON执行它; 旗.这会导致Sql Server仅返回预期数据的数据类型,但不会执行sproc本身.适配器在主机进程的生命周期中缓存这些数据类型.

如果更改存储过程返回的数据,则下次执行时,它将不同步,并且无法强制转换为期望的类型.因此,需要重新启动主机实例.

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