Array
(
)

Comunicação entre SQL Server 2005 e Progress

Gordonsp
   - 05 set 2008

Pessoal, Boa Noite!

Recebi uma missão (suicida) para fazer uma integração entre o SQL Server 2005 e Progress, e para ser sincero ainda não sei quais as alternativas tenho, pois até o presente momento não encontrei nada sobre o assunto.
Por isso venho mais uma vez recorrer ao conhecimento de todos para conseguir uma luz no fim do tunel.
Se alguem souber de algo que me ajude agradecerei.

Um forte abraço a Todos.

Anderson

Psergio.p
   - 06 set 2008

Ola Anderson, eu tenho algumas soluções que podem te ajudar, porém antes preciso de algumas informações suas:

1) Que tipo de integração você precisa? O Progress gravando no SQL Server ou o contrario?

2) Em que momento a integração será feita?

Se puder detalhar mais suas necessidades ajuda!

Gordonsp
   - 07 set 2008

Caro PSergio,

Vou tentar detalhar o maximo que puder as suas perguntas.

Vamos lá:

1 - Eu necessito dos dois, ou seja, progress gravando no SQL Server e Sql Server gravando no progress. Vale ressaltar que estarão em servidores distintos, mas um servidor ve o outro.

2 - A integracao podera ocorrer atraves de um job ou mesmo em tempo real, se possivel.

Resumindo o que preciso:

Preciso pegar informações das tabelas de um banco progress e inseri-las ou mesmo realizar um update em uma tabela no sql server. e num segundo momento, através de uma trigger (SQL Server) mandar para o progress (se possivel).
Esse é o cenario...

Um grande abraço e agradeço pelo apoio que puder me dar.

Anderson

Psergio.p
   - 07 set 2008

Meu caro, neste caso você tera que adquirir a ferramenta da Progress que permite atualizar uma base de dados SQL Server. A ferramenta é o DataServer, consulte a Progress pra ver o preço.

No Caso do SQL Server para o Progress você atualizar criando um linked server, porém acho que você não consegue utilizar trigger pois um trigger em si é uma transação e creio que não seja possível executar uma transação que atualize os dois bancos.

Gordonsp
   - 19 fev 2009

Caro PSergio,

Consegui resolver boa parte dos problemas utilizando driver ODBC.
Agora preciso gravar dados no progress via sql server, como consigo fazer isso?
Vale lembrar que para buscar as informaçoes no progress criei um linked server e na consulta estou usando o OpenQuery([linked Server],´consulta´),
mas agora preciso gravar numa tabela progress e não estou achando a caminho.

Obrigado

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), @IndProd1 VArchar(12), @Seq_movto 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 pub.dz_ssp_ord_prod WHERE Op=703288 AND Seq=10')
set nr_xx=2

Alguem pode me ajudar???

Obrigado!!!!!!!