Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
nao sei como faço para usar o meu select com WHERE no linked server segue abaixo o codigo
(select CODIGO_GLOBUS FROM OPENQUERY (GLOBUS, 'SELECT CODIGO_GLOBUS FROM T_ARR_PARAM_PRDT where CODIGO_SPARK='+ ##@idmotorista +''))
o mais correto seria eu conseguir fazer um JOIN mas nem isso funciona
[Garagem].[dbo].[servico] s
INNER JOIN [GLOBUS].[dbo].[default].[T_ARR_PARAM_PRDT] l on (s.idMotorista = l.CODIGO_SPARK)
da o seguinte erro: Mensagem 7312, Nível 16, Estado 1, Linha 8
Uso inválido de esquema ou catálogo para o provedor do OLE DB "MSDASQL" para o servidor vinculado "GLOBUS". Um nome de quatro partes foi fornecido, mas o provedor não expõe as interfaces necessárias para usar um catálogo ou esquema.
entao seguinte sua linha de raciocinio pesquisei um pouco e decidi fazer um JOIN mas o problema do JOIN e que demanda muito tempo de processamento, sera que teria uma forma mais facil ?
tipo isolando os select e criando tabelas temporarias?
FROM
[Garagem].[dbo].[servico] s
RIGHT JOIN OPENQUERY (GLOBUS,'SELECT CODIGO_GLOBUS,CODIGO_SPARK FROM T_ARR_PARAM_PRDT') l on (l.CODIGO_SPARK = s.idMotorista)
porque?
pelo simples motivo de que eu preciso fazer um link de dados passar por 3 bancos diferentes...
Linkedserver para Join eh sempre lento.
Eu tentaria alimentar uma tabela fisica mesmo com estes dados para depois fazer este JOIN, mas depende das regras envolvidas. Mesmo em tabelas temporarias ou globais o tempo de processamento sera lento.
poise... consultar folha ponto e descryptografar dados da tabela para depois mostrar vai me demandar muito tempo... mas infelizmente acho que nao tenho escolha no momento.... mesmo assim muitíssimo obrigado pelos esclarecimentos
O que pode fazer neste caso, eh a parte de criptografia utilizar uma DLL e chamar ela pelo SQL.
Mas realmente, demanda tempo para alterar ou fazer outra solução.
poise mas as dicas ja me ajudaram muito... Valeu pela ajuda, muitíssimo obrigado
O correto é:
LINKEDSERVER.DATABASE.OWNER.OBJETO