Partager via


En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour SQL Server

L’adaptateur Microsoft BizTalk pour SQL Server présente plusieurs propriétés de liaison. En définissant ces propriétés, vous pouvez contrôler une partie du comportement de l’adaptateur. Cette section décrit les propriétés de liaison exposées par l’adaptateur SQL. Il montre également comment vous pouvez y accéder à l’aide de la programmation .NET ou en définissant des propriétés sur une liaison de port physique BizTalk Server.

Propriétés de la liaison d’adaptateur

Le tableau suivant montre les propriétés de liaison d’adaptateur SQL regroupées par catégorie. La catégorie fait référence au nœud sous lequel chaque propriété de liaison apparaît dans les boîtes de dialogue présentées par différentes applications pour configurer l’adaptateur (ou la liaison).

XmlStoredProcedureRootNodeName

Catégorie : FOR XML
Description : spécifie le nom du nœud racine pour le schéma de réponse pour les procédures stockées qui ont une clause FOR XML dans l’instruction SELECT. Ce nœud racine encapsule la réponse XML reçue de SQL Server après l’exécution de ces procédures stockées. Vous devez ajouter ce nœud racine au schéma de réponse, comme décrit dans la rubrique Exécuter des procédures stockées ayant une clause FOR XML dans SQL Server à l’aide de BizTalk Server.

Important

Vous devez définir cette propriété de liaison lors de l’exécution de procédures stockées avec la clause FOR XML.

Type .NET : chaîne

XmlStoredProcedureRootNodeNamespace

Catégorie : FOR XML
Description : spécifie l’espace de noms cible du nœud racine pour le schéma de réponse pour les procédures stockées qui ont une clause FOR XML dans l’instruction SELECT.
Type .NET : chaîne

CloseTimeout

Catégorie : Général
Description : délai d’expiration de la connexion WCF. La valeur par défaut est de 1 minute.
Type .NET : System.TimeSpan

Nom

Catégorie : Général
Description : valeur en lecture seule qui retourne le nom du fichier généré par le plug-in Visual Studio Add Adapter Service Reference pour contenir la classe de client WCF. Le plug-in Add Adapter Service Reference forme le nom du fichier en ajoutant « Client » à la valeur de la propriété Name . La valeur par défaut de cette propriété est « SqlAdapterBinding » ; pour cette valeur, le fichier généré sera nommé « SqlAdapterBindingClient ».
Type .NET : chaîne

OpenTimeout

Catégorie : Général
Description : spécifie le délai d’ouverture de la connexion WCF. La valeur par défaut est de 1 minute.

Important

L’adaptateur SQL utilise toujours OpenTimeout pour définir le délai d’ouverture de connexion lorsqu’il ouvre une connexion à SQL Server. L’adaptateur ignore tous les paramètres de délai d’expiration (System.TimeSpan) passés lorsque vous ouvrez un objet de communication. Par exemple, l’adaptateur ignore tous les paramètres de délai d’attente passés lors de l’ouverture d’un canal.

Type .NET : System.TimeSpan

ReceiveTimeout

Catégorie : Général
Description : spécifie le délai d’expiration de réception des messages WCF. Essentiellement, cela signifie la durée maximale pendant laquelle l’adaptateur attend un message entrant. La valeur par défaut est 10 minutes.

Important

Pour les opérations entrantes telles que l’interrogation, nous vous recommandons de définir le délai d’expiration sur la valeur maximale possible, qui est 24.20 :31 :23.64700000 (24 jours). Lorsque vous utilisez l’adaptateur avec BizTalk Server, définir le délai d’expiration sur une valeur importante n’a pas d’impact sur les fonctionnalités de l’adaptateur.

Type .NET : System.TimeSpan

SendTimeout

Catégorie : Général
Description : spécifie le délai d’envoi de message WCF. La valeur par défaut est de 1 minute.
Type .NET : System.TimeSpan

EnableBizTalkCompatibilityMode

Catégorie : BizTalk
Description : indique si l’adaptateur est utilisé avec BizTalk Server ou une application .NET.

  • Lorsque vous utilisez les adaptateurs de BizTalk Server (ou que vous générez des métadonnées pour les opérations sur SQL Server à l’aide de l’adaptateur dans un projet BizTalk), vous devez toujours définir la propriété sur True. Cela garantit que le schéma généré pour System.Data.DataSet est dans un format compatible avec BizTalk Server. Sinon, la compilation de votre projet BizTalk échoue.
  • Lorsque vous utilisez les adaptateurs de Visual Studio dans une application .NET, vous devez définir la propriété sur False si vous souhaitez utiliser la réponse en tant que DataSet. Cela garantit que le schéma généré pour System.Data.DataSet est dans un format compatible avec le DataContractSerializer WCF.

Type .NET : bool (System.Boolean)

BatchSize

Catégorie : Mise en mémoire tampon
Description : spécifie la taille de lot pour les opérations d’insertion, de mise à jour et de suppression de plusieurs enregistrements sur une table ou une vue dans une base de données SQL Server. Valeur par défaut : 20. Pour les valeurs de BatchSize supérieures à un, l’adaptateur SQL lote le nombre spécifié d’enregistrements en un seul appel. Une valeur plus élevée peut améliorer les performances, mais affecte la consommation de mémoire.
Type .NET : int (System.Int32)

Taille de segments

Catégorie : Mise en mémoire tampon
Description : spécifie la taille de mémoire tampon utilisée pour les opérations Set<column_name> . La valeur par défaut est 4194304 octets. Une valeur plus élevée peut améliorer les performances, mais affecte la consommation de mémoire.

Notes

Pour plus d’informations sur les opérations Définir<column_name> , consultez Opérations sur les tables et les vues qui contiennent des types de données volumineux à l’aide de l’adaptateur SQL.

Type .NET : int (System.Int32)

Encrypt (Chiffrer)

Catégorie : Connexion
Description : spécifie si SQL Server (avec un certificat valide installé) utilise le chiffrement SSL pour tous les transferts de données entre SQL Server et le client. La valeur par défaut est false.
Type .NET : bool (System.Boolean)

MaxConnectionPoolSize

Catégorie : Description de la connexion : spécifie le nombre maximal de connexions autorisées dans un pool de connexions pour un chaîne de connexion spécifique. La valeur par défaut est 100. Cette propriété est utilisée pour l’optimisation des performances.

Important

Vous devez définir MaxConnectionPoolSize de manière judicieuse. Il est possible d’épuiser le nombre de connexions disponibles, si cette valeur est trop grande.

Type .NET : int (System.Int32)

WorkstationId

Catégorie : Connexion
Description : spécifie un ID unique pour la station de travail (ordinateur client) qui se connecte à la base de données SQL Server à l’aide de l’adaptateur SQL. La valeur de cette propriété de liaison, si elle est spécifiée, est utilisée pour l’ID de station de travail mot clé de la propriété SqlConnection.ConnectionString. Pour plus d’informations, consultez Propriété SqlConnection.ConnectionString.
Type .NET : chaîne

EnablePerformanceCounters

Catégorie : Diagnostics
Description : spécifie s’il faut activer les compteurs de performances du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF et le compteur de performances de latence LOB de l’adaptateur SQL. La valeur par défaut est False ; les compteurs de performances sont désactivés. Le compteur de performances de latence métier mesure le temps total passé par l’adaptateur SQL à passer des appels à la base de données SQL Server.

Pour plus d’informations sur les compteurs de performances pour l’adaptateur SQL, consultez Utiliser des compteurs de performances avec l’adaptateur SQL.
Type .NET : int (System.Int32)

InboundOperationType

Catégorie : entrant
Description : spécifie si vous souhaitez effectuer une opération d’interrogation, typedPolling, XmlPolling ou notification entrante. La valeur par défaut est Interrogation.

Pour plus d’informations sur l’interrogation, TypedPolling et XmlPolling , consultez Prise en charge de l’interrogation. Pour plus d’informations sur la notification, consultez Considérations relatives à la réception de notifications de requête à l’aide de l’adaptateur SQL.
Type .NET : énumération

UseDatabaseNameInXsdNamespace

Catégorie : Métadonnées
Description : spécifie si le XSD généré pour un artefact particulier contient le nom de la base de données. Définissez cette valeur sur True pour inclure le nom de la base de données. Sinon, définissez cette valeur sur False. La valeur par défaut est False.

Cela est utile dans les scénarios où une seule application souhaite exécuter des opérations sur des artefacts de même nom avec des métadonnées différentes dans différentes bases de données. S’il n’existe aucun nom de base de données dans l’espace de noms, les métadonnées générées seront en conflit. En définissant cette propriété de liaison, vous pouvez inclure le nom de la base de données dans l’espace de noms, ce qui les rend uniques. Voici un exemple mettant en évidence la modification apportée à l’espace de noms.

UseDatabaseNameInXsdNamespace = False
http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee

UseDatabaseNameInXsdNamespace = True
http://schemas.microsoft.com/Sql/2008/05/TableOp/MyDatabase/dbo/Employee

Notez que le nom de la base de données est inclus dans l’espace de noms lorsque la propriété de liaison a la valeur True.

Type .NET : énumération

AllowIdentityInsert

Catégorie : Divers
Description : spécifie si l’adaptateur peut insérer des valeurs pour les colonnes d’identité pendant les opérations d’insertion et de mise à jour. Définissez cette propriété sur True pour insérer ou mettre à jour des valeurs pour les colonnes d’identité. Sinon, définissez cette valeur sur False (valeur par défaut).

Notes

La définition de cette propriété sur True se traduit par l’adaptateur à l’aide de SET IDENTITY_INSERT <table_name> ON. Pour plus d’informations, consultez SET IDENTITY_INSERT (Transact-SQL).

Lorsque vous utilisez cette propriété de liaison, vous devez tenir compte des points suivants :

  • L’adaptateur ne valide pas la valeur que vous passez pour la colonne d’identité. Par exemple, si une table a une colonne d’identité avec « Identity Seed » défini sur 100 et « Incrément d’identité » défini sur 1, et que le client de l’adaptateur transmet une valeur, par exemple 95, pour la colonne d’identité, l’adaptateur transmet simplement cette valeur à SQL Server.
  • Même si vous définissez AllowIdentityInsert sur True, il n’est pas obligatoire pour un client d’adaptateur de spécifier une valeur pour la colonne d’identité dans le message de demande. Si une valeur est présente pour la colonne d’identité, l’adaptateur la transmet à SQL Server. Si aucune valeur n’est présente, SQL Server insère une valeur basée sur la spécification de la colonne d’identité.

Type .NET : bool (System.Boolean)

NotificationStatement

Catégorie : Notification (entrant)
Description : spécifie l’instruction SQL (procédure> stockée SELECT ou EXEC<) utilisée pour s’inscrire aux notifications SQL Server. Vous devez entrer spécifiquement les noms de colonnes dans l’instruction, comme indiqué dans l’instruction SELECT suivante :

SELECT Employee_ID,Designation FROM dbo.Employee WHERE Status=0

Notes

Vous devez spécifier le nom de l’objet de base de données ainsi que le nom du schéma. Par exemple : dbo.Employee.

L’adaptateur reçoit un message de notification de SQL Server uniquement lorsque le jeu de résultats de l’instruction SQL spécifiée change.

Type .NET : chaîne

NotifyOnListenerStart

Catégorie : Notification (entrant)
Description : spécifie si l’adaptateur envoie un message de notification aux clients de l’adaptateur, informant que l’emplacement de réception est en cours d’exécution, lorsque l’écouteur démarre. La valeur par défaut est True.

Le message de notification que vous recevez ressemble à ce qui suit :

<?xml version="1.0" encoding="utf-8" ?>
 <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">
   <Info>ListenerStarted</Info>
    <Source>SqlBinding</Source>
    <Type>Startup</Type>
  </Notification>

Type .NET : bool (System.Boolean)

PolledDataAvailableStatement

Catégorie : Interrogation (entrant)
Description : spécifie l’instruction SQL exécutée pour déterminer si des données sont disponibles pour l’interrogation d’une table spécifique dans une base de données SQL Server. L’instruction spécifiée doit retourner un jeu de résultats composé de lignes et de colonnes. La valeur de la première cellule du jeu de résultats indique si l’adaptateur exécute l’instruction SQL spécifiée pour la propriété de liaison PollingStatement . Si la première cellule du résultat contient une valeur positive, l’adaptateur a exécuté l’instruction d’interrogation.

Voici des exemples d’instructions valides que vous pouvez spécifier pour cette propriété de liaison :

  • Si vous spécifiez une instruction SELECT :

    SELECT COUNT(*) from <table_name>

  • Si vous spécifiez une procédure stockée, votre procédure stockée peut être définie comme suit :

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    SELECT COUNT(*) FROM <table_name>
    END
    GO
    

    ou

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    DECLARE @count int
    SELECT @count = SELECT(*) FROM <table_name>
    SELECT @count
    END
    GO
    

Si vous utilisez une procédure stockée, vous devez spécifier PolledDataAvailableStatement comme EXEC <procedure_name>.

Important

L’instruction que vous spécifiez pour cette propriété de liaison n’est pas exécutée dans une transaction lancée par l’adaptateur et peut être appelée plusieurs fois avant l’exécution de l’instruction d’interrogation réelle (même si l’exécution de l’instruction indique qu’il existe des lignes disponibles pour l’interrogation).

Type .NET : chaîne

PollingIntervalInSeconds

Catégorie : Interrogation (entrant)
Description : spécifie l’intervalle, en secondes, auquel l’adaptateur SQL exécute l’instruction spécifiée pour la propriété de liaison PolledDataAvailableStatement . La valeur par défaut est 30 secondes. L’intervalle d’interrogation détermine l’intervalle de temps entre les sondages successifs. Si l’instruction est exécutée dans l’intervalle spécifié, l’adaptateur est inactif pendant la durée restante de l’intervalle.
Type .NET : int (System.Int32)

PollingStatement

Catégorie : Interrogation (entrant)
Description : spécifie l’instruction SQL pour interroger une table de base de données SQL Server. Vous pouvez spécifier une instruction SELECT simple ou des procédures stockées pour l’instruction d’interrogation. La valeur par défaut est null. Vous devez spécifier une valeur pour PollingStatement afin d’activer l’interrogation. L’instruction d’interrogation est exécutée uniquement s’il existe des données disponibles pour l’interrogation, qui sont déterminées par la propriété de liaison PolledDataAvailableStatement .

Vous pouvez spécifier n’importe quel nombre d’instructions SQL séparées par un point-virgule. Vous pouvez utiliser l’instruction d’interrogation pour lire ou mettre à jour des données dans une table de base de données SQL Server. L’adaptateur SQL exécute les instructions d’interrogation à l’intérieur d’une transaction. Lorsque l’adaptateur est utilisé avec BizTalk Server, la même transaction est utilisée pour envoyer des messages de SQL Server à la zone de message BizTalk.

Type .NET : chaîne

PollWhileDataFound

Catégorie : Interrogation (entrant)
Description : spécifie si l’adaptateur SQL ignore l’intervalle d’interrogation et exécute en continu l’instruction SQL spécifiée pour la propriété de liaison PolledDataAvailableStatement , si des données sont disponibles dans la table interrogée. Si aucune donnée n’est disponible dans la table, l’adaptateur revient à exécuter l’instruction SQL à l’intervalle d’interrogation spécifié. La valeur par défaut est false.

Envisagez un scénario où l’intervalle d’interrogation est défini sur 60 secondes et où l’instruction spécifiée pour PolledDataAvailableStatement retourne que les données sont disponibles pour l’interrogation. L’adaptateur exécute ensuite l’instruction spécifiée pour la propriété de liaison PollingStatement . En supposant que l’adaptateur ne prend que 10 secondes pour exécuter l’instruction d’interrogation, il doit maintenant attendre 50 secondes avant d’exécuter à nouveau polledDataAvailableStatement , puis exécuter ensuite l’instruction d’interrogation. Au lieu de cela, pour optimiser les performances, vous pouvez définir la propriété de liaison PollWhileDataFound sur true afin que l’adaptateur puisse commencer à exécuter le cycle d’interrogation suivant dès que le cycle d’interrogation précédent se termine.

Type .NET : bool (System.Boolean)

UseAmbientTransaction

Catégorie : Transaction
Description : spécifie si l’adaptateur SQL effectue les opérations à l’aide du contexte transactionnel fourni par l’appelant. La valeur par défaut est true, ce qui signifie que l’adaptateur effectue toujours les opérations dans un contexte transactionnel. Si d’autres ressources participent à la transaction et que SQL Server joint également la transaction, la transaction est élevée à une transaction MSDTC.

Toutefois, il peut y avoir des scénarios dans lesquels vous ne souhaitez pas que l’adaptateur effectue des opérations dans un contexte transactionnel. Par exemple :

  • Lors de l’exécution d’une simple opération Select sur une base de données SQL Server
  • Lors de la spécification d’une instruction d’interrogation qui effectue une opération Select et n’implique aucune modification de la table par le biais d’une instruction Delete ou en appelant une procédure stockée.

Ces deux opérations n’effectuent aucune mise à jour de la table de base de données et, par conséquent, l’élévation de ces opérations pour utiliser une transaction MSDTC peut être une surcharge de performances. Dans de tels scénarios, vous pouvez définir la propriété de liaison sur false afin que l’adaptateur SQL n’effectue pas les opérations dans un contexte transactionnel.

Notes

  • Lorsque UseAmbientTransaction a la valeur False, polledDataAvailableStatement n’est pas appelé. Au lieu de cela, l’adaptateur appelle directement l’état d’interrogation.
  • Il est recommandé de ne pas effectuer d’opérations dans un contexte transactionnel uniquement pour les opérations qui n’apportent pas de modifications à la base de données. Pour les opérations qui mettent à jour des données dans la base de données, nous vous recommandons de définir la propriété de liaison sur true. Sinon, vous risquez de subir une perte de messages ou des messages en double, selon que vous effectuez des opérations entrantes ou sortantes.

Type .NET : bool (System.Boolean)

Comment définir les propriétés de liaison SQL Server ?

Vous pouvez définir les propriétés de liaison SQL Server lorsque vous spécifiez une connexion à SQL Server. Pour plus d’informations sur la définition des propriétés de liaison lorsque vous :

Voir aussi

Développer vos applications SQL