Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrejrocha

Erro no Linked Server

Recommended Posts

Boa tarde a todos,

 

Fiz um Linked Server de um SQL 2005 para um SQL 7, mas ao rodar este select retorna o erro abaixo

 

-- SINTAXE

select x.descricao from corporativo.rh.dbo.psecao x where x.codcoligada=8 and x.codigo='104.011'

 

- ERRO

Msg 7353, Level 16, State 1, Line 1

O provedor do OLE DB "SQLNCLI" para o servidor vinculado "corporativo" forneceu metadados inconsistentes. Uma coluna extra foi fornecida durante a execução e não foi encontrada durante a compilação.

 

O detalhe que é somente nesta tabela, em todas outras da database funciona normalmente.

 

Agradeço se alguem souber o que seja

Compartilhar este post


Link para o post
Compartilhar em outros sites

andrejrocha,

 

existe uma atualizacao para esta biblioteca SQLNCLI, que pode ser obtida pelo Windows Update. Veja se nao eh o seu caso.

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, Obrigado pela resposta.

 

No service Pack 3 do SQL Server 2005 tem esta atualização?

Porque baixei uma atualização dele e disse que era antiga, baixei do site da microsoft. Estou rodando o SQL com service Pack 2.

 

Obrigado

 

 

Em pesquisas, encontramos esta procedure e executamos em servidor de testes, conseguimos obter um resultado da tabela, voltou a funcionar o select, o que seria?

 

************************************************

Para executar...

*************************************************

 

USE YourDBHere

GO

 

sp_FixColOrder YourTableNameHere

GO

 

************************************************

A Procedure

*************************************************

CREATE PROCEDURE sp_FixColOrder

@table sysname

AS

DECLARE @SQLState VARCHAR(2000)

 

--Configure server to allow ad hoc updates to system tables

EXEC master.dbo.sp_configure 'allow updates', '1' RECONFIGURE WITH OVERRIDE

/*Build string to update object, the only reason I build a string is the allow updates exec does not allow straight SQL to occurr.*/

 

SET @SQLState = 'UPDATE

syscolumns

SET

colid = TruePos,

colorder = TruePos

FROM

syscolumns

 

INNER JOIN

(SELECT

[name],[id],

colorder, (SELECT COUNT(*) + 1 FROM syscolumns ic WHERE ic.colorder < c.colorder AND ic.[id] = c.[id]) as TruePos

FROM syscolumns c WHERE [id] = OBJECT_ID(''' + @table + ''')

) AS CalcVals ON syscolumns.[name] = CalcVals.[name] AND syscolumns.[id] = CalcVals.[id] AND

syscolumns.colorder = CalcVals.colorder'

 

EXEC (@SQLState)

 

--Configure server to disallow ad hoc updates to system tables

EXEC master.dbo.sp_configure 'allow updates', '0' RECONFIGURE WITH OVERRIDE

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.