Entre para seguir isso  
Seguidores 0

CONSULTA EM BANCOS DIFERENTES

6 posts neste tópico

Postado (editado) · Denunciar post

Salve galera!!

Estou tentando executar um script de consulta, ambos os bancos(diferentes) estão no mesmo servidor, mas me retorna o seguinte erro:

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

o Script é o seguinte:

SELECT          
    BANCO_1.dbo.Produtos.CódigoDeBarra, BANCO_2.dbo.tblEstoque.NO_Estoque
FROM 
    Produtos
INNER JOIN
    BANCO_2.dbo.tblEstoque ON BANCO_1.Produtos.CódigoDeBarra = BANCO_2.dbo.tblEstoque.ID_Produto
GROUP BY
    BANCO_2.dbo.Produtos.CódigoDeBarra

O que será que estou fazendo de errado? Desde já agradeço e uma boa semana a todos.

Editado por Vinicius Schuh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado (editado) · Denunciar post

Olha, parece que está ocorrendo erro de tipo de dados... por exemplo, tentando comparar inteiro com string ou outra coisa do gênero... se for só tipos diferentes, faz a igualdade usando um CONVERT para igualar os tipos

qualquer coisa fala aí

Editado por isaikki

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado (editado) · Denunciar post

Boa tarde isaikki, os dois campos são do tipo varchar (13)

Editado por Vinicius Schuh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado (editado) · Denunciar post

Eu fiz um teste aqui no meu banco, e foi legal, só que os campos que eu comparei, ambos eram integer:

select
    a.atividadeCodigo,
    a.atividadeNome,
    p.projetoCodigo
from
    Banco1.dbo.Atividades a
    join Banco2.dbo.Projetos p on p.projetoCodigo = a.projetoCodigo

desse jeito funcionou perfeitamente

Editado por isaikki

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado · Denunciar post

Pois é parçeiro, refiz o código aqui e me trás o mesmo erro =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado (editado) · Denunciar post

Boa Tarde amigos do Fórum, resolvi o problema do erro que estava me retornando, era uma questão de compatibilidade. Quando há diferença entre as collations, para que o conflito não se manifeste é necessário igualar as mesmas. Se as collations forem iguais, então não há porque o conflito ocorrer. Resumindo, precisava ser passado a seguinte instrução dentro do meu script:

INNER JOIN 
    dbo.Produtos ON BANCO_2.dbo.tblEstoque.ID_Produto
COLLATE 
    Latin1_General_CI_AS = dbo.Produtos.CódigoDeBarra

Valeu :lol:

Editado por Vinicius Schuh

Compartilhar este post


Link para o post
Compartilhar em outros sites
Você está comentando como visitante. Se você tem uma conta, por favor, entre.
Responder
Entre para seguir isso  
Seguidores 0