Partager via


Configurer une liaison cliente pour l’adaptateur SQL

Une fois que vous avez généré la classe de client WCF, vous pouvez créer un client WCF (instance) et appeler ses méthodes pour consommer l’adaptateur Microsoft BizTalk pour SQL Server. Pour plus d’informations sur la génération de la classe de client WCF et du code d’assistance pour les opérations exposées par l’adaptateur SQL, consultez Générer un client WCF ou un contrat de service WCF pour SQL Server Artifacts.

Pour créer le client WCF, vous devez spécifier une adresse de point de terminaison et une liaison. L’adresse du point de terminaison doit contenir un URI de connexion SQL valide, et la liaison doit être une instance d’une liaison SQL (sqlBinding). Pour plus d’informations sur l’URI de connexion SQL, consultez Créer l’URI de connexion SQL Server. Vous devez spécifier les informations d’identification de l’utilisateur dans le cadre de l’URI de connexion. Vous pouvez utiliser la propriété ClientCredentials du client WCF, comme expliqué dans cette rubrique.

Vous pouvez spécifier la liaison SQL et l’adresse du point de terminaison dans votre code ou dans un fichier de configuration. Lorsque vous utilisez le plug-in Visual Studio Add Adapter Service Reference pour générer la classe de client WCF, un fichier de configuration (app.config) est également créé pour votre projet. Ce fichier contient des paramètres de configuration qui reflètent les propriétés de liaison et les informations de connexion (à l’exception des informations d’identification) que vous avez spécifiées lorsque vous vous êtes connecté à la base de données SQL avec le plug-in Add Adapter Service Reference.

Spécification de la liaison et de l’adresse de point de terminaison dans le code

Le code suivant montre comment créer un client WCF en spécifiant la liaison et l’adresse de point de terminaison dans le code à l’aide de la propriété ClientCredentials du client WCF.

SqlAdapterBinding binding = new SqlAdapterBinding();  
EndpointAddress sqlAddress = new EndpointAddress("mssql://<sql_server_name>//<database_name>?");  
  
TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient (binding, sqlAddress);  
  
client.ClientCredentials.UserName.UserName = "USER";  
client.ClientCredentials.UserName.Password = "PASSWORD";  
  
client.Open();  

Spécification de la liaison et de l’adresse de point de terminaison dans un fichier de configuration

Le code suivant montre comment créer un client WCF en spécifiant la liaison et l’adresse de point de terminaison dans un fichier app.config.

TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient("SqlAdapterBinding_TableOp_dbo_Customer");  
  
client.ClientCredentials.UserName.UserName = "USER";  
client.ClientCredentials.UserName.Password = "PASSWORD";  
  
client.Open();  

Le code XML suivant montre le fichier de configuration créé pour la table Customer par le plug-in Add Adapter Reference Service. Ce fichier contient la configuration du point de terminaison client référencée dans l’exemple précédent.

<?xml version="1.0" encoding="utf-8"?>  
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">  
    <system.serviceModel>  
        <bindings>  
            <sqlBinding>  
                <binding name="SqlAdapterBinding" closeTimeout="00:01:00" openTimeout="00:01:00"  
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" maxConnectionPoolSize="100"  
                    encrypt="false" useAmbientTransaction="true" batchSize="20"  
                    polledDataAvailableStatement="" pollingStatement="" pollingIntervalInSeconds="30"  
                    pollWhileDataFound="false" notificationStatement="" notifyOnListenerStart="true"  
                    enableBizTalkCompatibilityMode="true" chunkSize="4194304"  
                    inboundOperationType="Polling" useDatabaseNameInXsdNamespace="false"  
                    allowIdentityInsert="false" enablePerformanceCounters="false"  
                    xmlStoredProcedureRootNodeName="" xmlStoredProcedureRootNodeNamespace="" />  
            </sqlBinding>  
        </bindings>  
        <client>  
            <endpoint address="mssql://<sql_server_name>//<database_name>?" binding="sqlBinding"  
                bindingConfiguration="SqlAdapterBinding" contract="TableOp_dbo_Customer"  
                name="SqlAdapterBinding_TableOp_dbo_Customer" />  
        </client>  
    </system.serviceModel>  
</configuration>  

Si un projet a plusieurs clients WCF, plusieurs entrées de point de terminaison client sont définies dans le fichier de configuration. Chaque entrée de client WCF aura un nom unique en fonction de sa configuration de liaison et de son artefact SQL Server cible, par exemple «SqlAdapterBinding_TableOp_dbo_Customer ». Si vous vous connectez plusieurs fois pour créer les clients WCF dans votre projet, plusieurs entrées de configuration de liaison sont créées, une pour chaque connexion. Ces entrées de configuration de liaison seront nommées de la manière suivante : SqlAdapterBinding, SqlAdapterBinding1, etc. Chaque entrée de point de terminaison client créée lors d’une connexion spécifique fait référence à l’entrée de liaison créée pendant cette connexion.

Voir aussi

Développer des applications SQL à l’aide du modèle de service WCF
Générer un client WCF ou un contrat de service WCF pour les artefacts SQL Server
Créer l’URI de connexion SQL Server