Entre para seguir isso  
Seguidores 0

CONSULTA EM BANCOS DIFERENTES

6 posts neste tópico

Postado (editado)

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)

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)

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)

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

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)

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0