Recebi a seguinte mensagem de erro sobre uma consulta SQL que estou executando em um programa. SQL Server 2005 T-SQL.
Consultas heterogêneas requerem a
ANSI_NULLS
eANSI_WARNINGS
opções a serem definidas para a conexão. Isso garante semântica de consulta consistente. Habilite essas opções e emita novamente sua consulta. (gravidade 16)
Corrigir é fácil, definido ANSI_NULLS
e ANSI_WARNINGS
ON
, mas eu queria saber o que é uma consulta heterogênea. Uma pesquisa no Google traz dezenas de resultados dizendo-me para definir ANSI_NULLS
e ANSI_WARNINGS
, nada explicando o que o termo significa. A consulta é:
UPDATE SRV.DB.DBO.TABLE SET Column=
(SELECT Column
FROM SRV1.DB.DBO.TABLE)
Estou pensando que isso se deve à conexão com vários mecanismos de banco de dados em uma consulta, pois nunca recebi esse erro de outra forma.
"Heterogêneo" se refere apenas à consulta de dois mecanismos de banco de dados diferentes nesse contexto?
fonte
Heterogêneo significa apenas diferente. Portanto, uma consulta heterogênea está em um banco de dados e está consultando um banco de dados DIFERENTE. Como os bancos de dados são diferentes, traz a possibilidade de as configurações serem diferentes, o que poderia causar resultados diferentes do que se pretendia.
fonte