J'ai reçu le message d'erreur suivant concernant une requête SQL que j'exécute dans un programme. SQL Server 2005 T-SQL.
Les requêtes hétérogènes nécessitent que les options
ANSI_NULLS
etANSI_WARNINGS
soient définies pour la connexion. Cela garantit une sémantique de requête cohérente. Activez ces options, puis relancez votre requête. (gravité 16)
Le réparer est facile, défini ANSI_NULLS
et ANSI_WARNINGS
ON
, mais je voulais savoir ce qu'est une requête hétérogène. Une recherche Google fait apparaître des dizaines de résultats me disant de définir ANSI_NULLS
et ANSI_WARNINGS
, rien expliquant ce que le terme signifie. La requête est:
UPDATE SRV.DB.DBO.TABLE SET Column=
(SELECT Column
FROM SRV1.DB.DBO.TABLE)
Je pense que cela est dû à la connexion à plusieurs moteurs de base de données dans une seule requête, car je n'ai jamais eu cette erreur autrement.
"Hétérogène" fait-il simplement référence à l'interrogation de deux moteurs de base de données différents dans ce contexte?