Utilisation de curseurs avec des requêtes distribuées

Lors de l'utilisation de curseurs avec des requêtes distribuées, les deux types de curseurs, insensitifs (statiques) et pilotés par jeux de clés, sont acceptés lorsque le fournisseur prend en charge la fonctionnalité OLE DB appropriée. Les curseurs dynamiques ou à avance uniquement demandés par une requête distribuée sont implicitement convertis en curseurs pilotés par jeux de clés.

Un curseur piloté par jeu de clés est pris en charge sur une requête distribuée si toutes les tables locales et distantes spécifiées dans la requête ont une clé unique. Pour connaître les conditions dans lesquelles un curseur piloté par jeu de clés est pris en charge sur une requête distribuée, consultez Conditions associées aux curseurs pilotés par jeu de clés pour les fournisseurs OLE DB.

Si un curseur piloté par jeu de clés est autorisé sur une requête distribuée, il peut servir à mettre à jour certaines tables distantes sous-jacentes si les conditions de possibilité de mise à jour du fournisseur sont remplies. Pour connaître les exigences en matière de mise à jour d'une table distante, consultez Conditions associées aux instructions UPDATE et DELETE pour les fournisseurs OLE DB.

Notes

Les colonnes timestamp sont nécessaires pour l'accès concurrentiel optimiste si les cibles de la mise à jour ou de la suppression sont distantes. Une erreur se produit si l'accès concurrentiel optimiste est spécifié mais que la table distante ne contient pas de colonne timestamp. Dans SQL Server 2000, si une colonne timestamp n'existait pas, l'accès concurrentiel optimiste n'était pas conservé pour la mise à jour distante, mais aucune erreur ne survenait.

Notes

Pour les requêtes distribuées, il n'est pas nécessaire de spécifier une transaction utilisateur si le niveau d'isolement est REPEATABLE READ ou supérieur. Dans SQL Server 2000, une transaction utilisateur était requise avec un niveau d'isolement de REPEATABLE READ ou supérieur.