Array
(
)

Comunicação entre SQL Server 2005 e Progress (LINKED SERVER)

Dhiego Schmitt
   - 03 jun 2010

Olá pessoal

Estou precisando de uma ajuda

Estou desenvolvendo um Stored Procedure entre o SQL 2005 e o Progress, estou usando LINKED SERVER. Consigo fazer a leitura nas tabelas do Progress, mas ao atualizar o campo recebe uma mensagem de erro.

Segue a mensagem: "OLE DB provider "MSDASQL" for linked server "" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Tabela de lock esta cheia. (7870)This operation may have failed due to column aliasing on the select statement.".
Msg 7343, Level 16, State 4, Line 1
The OLE DB provider "MSDASQL" for linked server "" could not UPDATE table "[MSDASQL]"."

Estou usando a seguinte query

DECLARE @TSQL nvarchar(4000), @Op VArchar(12), @Seq varchar(12)
SET @Seq='10'
SET @OP='703288'
SET @TSQL='UPDATE OPENQUERY (LINKED_SERVER NAME,''SELECT nr_xx FROM tabela WHERE Op='+@OP+' AND Seq='+@Seq+''') SET nr_xx=3'
EXEC sp_executesql @TSQL

Também tentei desta forma:

update openquery(LINKED_SERVER NAME, 'select nr_xx from tabela WHERE Op=703288 AND Seq=10')
set nr_xx=2

Alguem pode me ajudar???

Obrigado!!!!!!!

Apolo
   - 17 jun 2010

o usuário possui permissão de gravar no outro banco?
Me refiro ao usuário que está gravado nas configurações do linked server.

Dhiego Schmitt
   - 17 jun 2010

Oi Apolo,
 
Estou usando o usuário com permissão de escrita nas tabelas.
Este mesmo usuário é que eu acesso via ODBC.
 
Abraços,
 
Dhiego