Partager via


Restrictions applicables aux connexions normales et contextuelles

Cette rubrique traite des restrictions associées au code qui s'exécute dans le processus MicrosoftSQL Server par le biais de connexions normales et contextuelles.

Restrictions applicables aux 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 à partir de connexions différentes ; elle affecte seulement une demande donnée sur une connexion donnée.

  • Multiple Active Result Sets (MARS) n'est pas pris en charge dans une connexion contextuelle.

  • La classe SqlBulkCopy ne fonctionne pas dans une connexion contextuelle.

  • Le traitement par lot des mises à jour dans une connexion contextuelle n'est pas pris en charge

  • SqlNotificationRequest ne peut pas être utilisé avec les commandes qui s'exécutent contre une connexion contextuelle.

  • L'annulation des commandes qui s'exécutent contre la connexion contextuelle n'est pas prise en charge. La méthode SqlCommand.Cancel ignore la demande silencieusement.

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

  • La propriété SqlConnection.DataSource retourne NULL si la chaîne de connexion pour le 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 contre une connexion contextuelle.

Restrictions applicables aux connexions normales

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

  • L'exécution de commande asynchrone contre des serveurs internes n'est pas prise en charge. L'inclusion de « async=true » dans la chaîne de connexion d'une commande, suivie de l'exécution de cette commande, lève l'exception System.NotSupportedException. Le message suivant apparaît : « Le traitement asynchrone n'est pas pris en charge en cas d'exécution à l'intérieur du processus SQL Server ».

  • L'objet SqlDependency n'est pas pris en charge.

Voir aussi

Concepts

Connexion contextuelle