Partager via


Restrictions sur les connexions régulières et contextuelles

Cette rubrique décrit les restrictions associées au code s’exécutant dans le processus SQL Server par le biais de connexions contextuelles et régulières.

Restrictions sur les connexions contextuelles

Lorsque vous développez votre application, prenez en considération les restrictions suivantes qui s'appliquent aux connexions contextuelles :

  • Vous ne pouvez avoir qu'une seule connexion contextuelle ouverte à tout moment pour une connexion donnée. Si plusieurs instructions s'exécutent simultanément dans des connexions séparées, chacune d'elles peut obtenir sa propre connexion contextuelle. La restriction n’affecte pas les demandes simultanées provenant de différentes connexions ; elle affecte uniquement une demande donnée sur une connexion donnée.

  • Plusieurs jeux de résultats actifs (MARS) ne sont pas pris en charge dans une connexion de contexte.

  • La SqlBulkCopy classe ne fonctionne pas dans une connexion de contexte.

  • La mise à jour par lot dans une connexion de contexte n’est pas prise en charge

  • SqlNotificationRequest ne peut pas être utilisé avec des commandes qui s’exécutent sur une connexion de contexte.

  • L’annulation de commandes en cours d’exécution sur la connexion de contexte n’est pas prise en charge. La méthode SqlCommand.Cancel ignore silencieusement la requête.

  • Aucun autre mot clé de chaîne de connexion ne peut être utilisé lorsque vous utilisez « context connection=true ».

  • La SqlConnection.DataSource propriété retourne null si la chaîne de connexion de l’objet SqlConnection est « context connection=true », au lieu du nom de l’instance de SQL Server.

  • La définition de la propriété SqlCommand.CommandTimeout n’a aucun effet lorsque la commande est exécutée sur une connexion de contexte.

Restrictions sur les connexions régulières

Lorsque vous développez votre application, prenez en considération les restrictions suivantes qui s'appliquent aux connexions normales :

  • L’exécution de commandes asynchrones sur des serveurs internes n’est pas prise en charge. L’inclusion de « async=true » dans la chaîne de connexion d’une commande, puis l’exécution de la commande entraîne System.NotSupportedException la levée. Ce message s’affiche : « Le traitement asynchrone n’est pas pris en charge lors de l’exécution dans le processus SQL Server ».

  • SqlDependency l’objet n’est pas pris en charge.

Voir aussi

Connexion contextuelle