Ich habe die folgende Fehlermeldung bezüglich einer SQL-Abfrage erhalten, die ich in einem Programm ausführe. SQL Server 2005 T-SQL.
Heterogene Abfragen erfordern die
ANSI_NULLS
undANSI_WARNINGS
Optionen für die Verbindung eingestellt werden. Dies stellt eine konsistente Abfragesemantik sicher. Aktivieren Sie diese Optionen und geben Sie Ihre Abfrage erneut aus. (Schweregrad 16)
Das zu beheben ist einfach, festgelegt ANSI_NULLS
und ANSI_WARNINGS
ON
, aber ich wollte wissen, was eine heterogene Abfrage ist. Bei einer Google-Suche werden Dutzende von Ergebnissen angezeigt, die mich dazu auffordern, Einstellungen vorzunehmen, ANSI_NULLS
und ANSI_WARNINGS
nichts, was den Begriff erklärt. Die Abfrage lautet:
UPDATE SRV.DB.DBO.TABLE SET Column=
(SELECT Column
FROM SRV1.DB.DBO.TABLE)
Ich denke, dies liegt an der Verbindung mit mehreren Datenbankmodulen in einer Abfrage, da ich diesen Fehler sonst nie erhalten habe.
Bezieht sich "heterogen" in diesem Zusammenhang nur auf die Abfrage von zwei verschiedenen Datenbankmodulen?
quelle
Heterogen heißt einfach anders. Eine heterogene Abfrage befindet sich also in einer Datenbank und fragt eine VERSCHIEDENE Datenbank ab. Da die Datenbanken unterschiedlich sind, kann es vorkommen, dass die Einstellungen unterschiedlich sind, was zu anderen Ergebnissen führen kann als beabsichtigt.
quelle