Biztalk SQL适配器或.NET SQL客户端

Biztalk SQL适配器或.NET SQL客户端,biztalk,biztalk-2010,Biztalk,Biztalk 2010,我的应用程序具有BizTalk业务流程,需要对表进行基本插入。哪种方法更好 在SQL server上使用调用存储过程(仅使用一条insert语句)的SQL适配器 包括业务流程上的方法调用,其中该方法在GetCommand上使用SQLclient.SQLCommand.ExecuteOnQuery方法和SQLstored过程 我想知道在BizTalk业务流程中将数据插入数据库的最佳方式。您应该始终更喜欢使用SQL适配器 它将在集团中心进行跟踪 您将在端口周围获得更好的诊断和跟踪选项 重试逻辑内

我的应用程序具有BizTalk业务流程,需要对表进行基本插入。哪种方法更好

  • 在SQL server上使用调用存储过程(仅使用一条insert语句)的SQL适配器
  • 包括业务流程上的方法调用,其中该方法在GetCommand上使用SQLclient.SQLCommand.ExecuteOnQuery方法和SQLstored过程

我想知道在BizTalk业务流程中将数据插入数据库的最佳方式。

您应该始终更喜欢使用SQL适配器

  • 它将在集团中心进行跟踪
  • 您将在端口周围获得更好的诊断和跟踪选项
  • 重试逻辑内置并可配置

  • 最大的缺点是性能—它将在发送形状的编排中创建另一个持久性点,而内联SQL调用可以避免这一点

    在BizTalk应用程序中与SQL Server集成的正确且最佳的方法是使用WCF SQL适配器

    不要在代码中使用SQL客户机,因为过度使用内置工具会使操作、维护和性能变得更糟

    永远不要猜测或假设性能,因为在不知道通过测试和测量解决什么的情况下,您将A)花费时间“修复”不存在的问题,或B)通过实施比基本产品优化程度低的产品或C)两者兼而有之


    使用WCF-SQL适配器,如果您使用SLA测量特定差距,请告诉我们,我们可以帮助您解决这一问题。99.99%,解决方案不涉及直接使用SQL客户端。

    Perfect。谢谢这就回答了我的问题。在我的情况下,我不需要任何跟踪和重试逻辑,性能是关键,因为许多业务流程将同时运行。请记住,当多个业务流程尝试插入时,可能会出现死锁,并且您将无法获得本来可以获得的重试或登录。您可能会发现记录丢失,并且没有一个好的方法来检查whyNO!不要在代码中使用SQLClient!不要猜测性能。这可能是错误的相信我,你将为你和应用程序的未来支持带来更多问题。连接处理中的一个错误将使你付出比持久点更多的代价。使用SQL适配器。@DanField是的,是我。为什么?似乎OP决定使用SQL客户机是因为不幸地提到了“性能”。我经常警告不要对性能进行猜测,因为如果不知道该解决什么问题,即使需要,情况也会变得更糟。出于这个原因,我认为这是一个不可取的答案。