从 BizTalk 动态发送端口执行 SP
SP execution from BizTalk dynamic send port
我有一个从 BizTalk 编排执行的 sp。
当我在 SQL 服务器中执行 SP 时需要 10 秒,但是当我使用以下代码从编排执行它时,需要 1 小时。
sqlStoredProcRequestXml = reportRequestXml;
sqlStoredProcRequestXml(WCF.Action)= sqlProcedureName;
sqlStoredProcRequestXml(WCF.BindingType)="sqlBinding";
sqlStoredProcRequestXml(WCF.EnableTransaction) = false;
sqlStoredProcRequestXml(WCF.BindingConfiguration)= @"<binding name=""sqlBinding"" sendTimeout=""02:30:00"" />";
SndRcvSqlStoreProcRequestResponsePort(Microsoft.XLANGs.BaseTypes.Address)="mssql://" + dbServer + "//" + dbDatabase;
SndRcvSqlStoreProcRequestResponsePort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-SQL";
谁能解释一下为什么在执行 SP 时会有 1 小时的差异。
这并不能解释这种差异(1 小时对 10 秒很多),但是当您从 Orchestration 调用时:
- 您的留言首先进入留言箱
- 消息被发送端口捕获
- 发送端口调用 SP
- 回复然后进入消息框
- Orchestration 从消息框获取响应消息
您不是从 Orchestration 直接调用您的 SP,消息通过 BizTalk 传输,但这并不能解释如此大的差异,除非您的 MsgBox 有问题。
BizTalk 没有特别延迟 sp 调用。您可以尝试按照以下方法查找根本原因:
- 使用SQL分析器通过BizTalk查看SP的实际执行时间
- 检查您环境中的其他延迟,例如 SQL 性能、msgbox 数据库、BizTalk 主机限制
- 检查事件查看器日志以了解发送端口主机上的任何警告或错误
- 确保您使用相同的数据和环境来测试 BizTalk 外部的 SP 以比较结果,有时根据数据的大小,您的查询可以 运行 在差异环境中长时间运行。
- 您还可以让 DBA 帮助sql分析您的 sp 调用
我有一个从 BizTalk 编排执行的 sp。
当我在 SQL 服务器中执行 SP 时需要 10 秒,但是当我使用以下代码从编排执行它时,需要 1 小时。
sqlStoredProcRequestXml = reportRequestXml;
sqlStoredProcRequestXml(WCF.Action)= sqlProcedureName;
sqlStoredProcRequestXml(WCF.BindingType)="sqlBinding";
sqlStoredProcRequestXml(WCF.EnableTransaction) = false;
sqlStoredProcRequestXml(WCF.BindingConfiguration)= @"<binding name=""sqlBinding"" sendTimeout=""02:30:00"" />";
SndRcvSqlStoreProcRequestResponsePort(Microsoft.XLANGs.BaseTypes.Address)="mssql://" + dbServer + "//" + dbDatabase; SndRcvSqlStoreProcRequestResponsePort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-SQL";
谁能解释一下为什么在执行 SP 时会有 1 小时的差异。
这并不能解释这种差异(1 小时对 10 秒很多),但是当您从 Orchestration 调用时:
- 您的留言首先进入留言箱
- 消息被发送端口捕获
- 发送端口调用 SP
- 回复然后进入消息框
- Orchestration 从消息框获取响应消息
您不是从 Orchestration 直接调用您的 SP,消息通过 BizTalk 传输,但这并不能解释如此大的差异,除非您的 MsgBox 有问题。
BizTalk 没有特别延迟 sp 调用。您可以尝试按照以下方法查找根本原因:
- 使用SQL分析器通过BizTalk查看SP的实际执行时间
- 检查您环境中的其他延迟,例如 SQL 性能、msgbox 数据库、BizTalk 主机限制
- 检查事件查看器日志以了解发送端口主机上的任何警告或错误
- 确保您使用相同的数据和环境来测试 BizTalk 外部的 SP 以比较结果,有时根据数据的大小,您的查询可以 运行 在差异环境中长时间运行。
- 您还可以让 DBA 帮助sql分析您的 sp 调用