2017-03-08 7 views
1

Mon application dispose d'une orchestration BizTalk qui doit effectuer une insertion de base dans une table. Quelle est la meilleure façon de le faireBiztalk SQL Adapter ou .NET SqlClient

  • en utilisant un adaptateur SQL qui appelle la procédure stockée (avec une seule instruction d'insertion) sur le serveur SQL
  • y compris un appel de méthode sur l'orchestration où la méthode utilise la SQLclient.SQLCommand Méthode .ExecuteNonQuery avec la procédure SQLstored sur GetCommand.

Je veux savoir la meilleure façon d'insérer les données dans une base de données dans l'orchestration BizTalk.

Répondre

0

Vous devriez toujours préférer utiliser l'adaptateur SQL.

  1. Il sera suivi dans le Hub Group
  2. Vous obtiendrez un meilleur diagnostic et les options de suivi autour du port
  3. logique Retry est intégrée et configurable

Le plus grand inconvénient est la performance - il créera un autre point de persistance dans votre orchestration sur la forme d'envoi, alors qu'un appel SQL inline l'éviterait.

+0

Parfait. Merci. Cela répond à ma question. Dans mon cas, je n'ai pas besoin de suivre et réessayer la logique et la performance est la clé car beaucoup d'orchestrations fonctionneront en même temps – Techie

+0

Gardez juste à l'esprit que cette impasse peut survenir lorsque plusieurs orchestrations tentent d'insérer - et que vous n'obtiendrez pas la nouvelle tentative ou la journalisation que vous obtiendriez autrement. Vous pouvez trouver des dossiers sont manquants et ne pas avoir un bon moyen de vérifier pourquoi –

+0

NO! N'utilisez pas le SQLClient dans le code! * Ne faites aucune estimation sur les performances. Ce sera probablement faux. :) * Faites-moi confiance, vous allez créer plus de problèmes pour vous et le soutien futur de l'application. –

1

Le correct et la meilleure façon d'intégrer avec SQL Server dans une application BizTalk est avec le SQL-adaptateur WCF. N'utilisez pas le client SQL dans le code, car vous risquez d'empirer les opérations, la maintenance et les performances, en utilisant les outils intégrés.

Ne jamais deviner ou faire des hypothèses sur la performance depuis sans savoir exactement quoi adresse, par test et de mesure, vous aurez soit A) Passez du temps « fixer » un problème qui n'existe pas ou B) faire des choses pire en mettant en œuvre quelque chose de moins optimisé que le produit de base ou C) les deux. Utilisez l'adaptateur WCF-SQL et si vous mesurez un écart spécifique avec un SLA, faites-le nous savoir, nous pouvons vous aider avec cela. 99,99%, la solution n'impliquera pas l'utilisation directe du client SQL.