Progress <---> SQLSERVER

999 views
Skip to first unread message

Francisco.Sobrinho

unread,
Jan 5, 2010, 7:37:45 AM1/5/10
to Progress - 4GL
Bom dia!!

Amigo Gostaria de um material que me explicasse como fazer o progress
ler, e escrever em um tabela que esta em um banco SQLSERVER .

Para você entender, tenho um cliente que tem um sistema que controla a
produção em SQLSERVER , e queremos enviar/receber (ler/escrever)
informações Progress <---> SQLSERVER.
Como eu posso fazer isso?
O que é necessário?
Hoje o cliente so tem essas licensas progress , é possível fazer
alguma coisa?
Progress 101A
OE Enterprise RDBMS
OE Application Svr Ent
Client Networking
Query/RESULTS

Diogo Barros

unread,
Jan 5, 2010, 7:49:15 AM1/5/10
to progre...@googlegroups.com
Olá, Bom Dia!

Não sou perito no assunto, talvez você precise de mais uma licença.
(Product Name: OE DataServer MS SQL Svr)
Acredito eu que com essa licença você consiga comunicar banco e
aplicação via odbc com o driver OpenEdge 10.1B ODBC Wire protocol
driver for MS SQL Server.

Espero ter ajudado.

2010/1/5 Francisco.Sobrinho <lord...@gmail.com>:

> --
>
> Você está recebendo esta mensagem porque se inscreveu no grupo "Progress - 4GL" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para progre...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para progress_4gl...@googlegroups.com.
> Para obter mais opções, visite esse grupo em http://groups.google.com/group/progress_4gl?hl=pt-BR.
>
>
>

Marcos Giufrida

unread,
Jan 5, 2010, 8:09:53 AM1/5/10
to progre...@googlegroups.com
Bom Dia !
 
Eu trabalhava com Progress acessando Base Oracle e para isso, tínhamos tb a licença Oracle Dataserv.
Para acessar a base Oracle, bastava criar um Schema Holder para as tabelas do Oracle no lado Progress para acessarmos normalmente as tabelas.
 
Atenciosamente,
 
Marcos Giufrida

Renato Rissardi

unread,
Jan 5, 2010, 12:17:27 PM1/5/10
to progre...@googlegroups.com, lord...@gmail.com
Francisco, talvez valha a pena avaliar melhor como vai funcionar sua
aplicação. Você não vai fazer um banco Progress RDBMS falar com um
banco SQL Server. Você sempre terá uma aplicação falando com os
bancos, intermediando a comunicação. Algumas opções para avaliar:

1) Programa escrito em qualquer linguagem (Java, C#, VB, etc.)
- conexão ODBC/JDBC com Progress e com SQL Server.
O programa precisa ser chamado pelo gerador do evento que precisa ser
propagado (ex.: chamado por uma trigger 4GL quando houver alteração
para que o programa c# grave no SQL Server); Outra opção é deixar esse
programa agendado de tempos em tempos (5 em 5 min).

2) Programa escrito em ABL (aka Progress 4GL).
- conexão com Progress é nativa, com SQL Server exige DataServer,
schema holder, etc.
O programa precisa pode escrever diretamente no SQL Server quando
algum evento de interesse ocorrer no ambiente Progress. O contrário,
depende de um agendamento (ex. a cada 5 min) para verificar se houve
mudança e trazer isso para o Progress.

3) Par de programas - 1 ABL e outro C# (ou Java ou VB.NET, etc...)
- conexão nativa progress e conexão JDBC/ODBC com SQLServer
Cada "lado" fala com seu proprio banco de dados, quando um acesso ao
outro banco é necessário, um serviço é chamado para buscar/atualizar
os dados necessários. A forma mais recomendada atualmente é através de
Web Services (expostos no Apache ou IIS + OE AppServer e no IIS + .NET
ou servidor Java - JBoss ou Glassfish por exemplo).

4) Progress Sonic ESB
- cenário semelhante ao 3, mas sem necessidade de servidor IIS ou
Java, nem configuração do Apache. Possíveis manipulações de dados e
combinação entre serviços podem ser feitas graficamente. Ganha-se mais
liberdade de topologia, mais robustez e segurança. Com o tempo, tem-se
maior reuso do que for construído.

Para cada cenário podem haver variações e todos tem suas vantagens e
desvantagens. O ideal é avaliar sua situação com mais detalhes e
selecionar o mais adequado a cada caso.

Att.,

Renato.

Wanderley S

unread,
Jan 5, 2010, 12:31:02 PM1/5/10
to progre...@googlegroups.com
Francisco,
 
Uma outra opção seria, a partir do Progress 4GL, utilizar o objeto ADODB para acessar o banco MSSQL com uma fonte de dados.
 
Já vi em funcionamento e parece ser uma solução viável e acessível. Só que você vai ter que ter o objeto ADODB instalado na máquina cliente.
 
Eu tinha comigo um exemplo da solução, mas não estou encontrando rapidamente para te passar.
 
Mas sei que se você procurar na Web vai encontrar alguns exemplos.

Abraço,

Wanderley.

"...aos loucos a sua impressão de bem-estar os leva à perdição." Pv 1.32b.

"Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa." desconhecido (por enquanto)

Veja: www.ipbjc.org.br


2010/1/5 Francisco.Sobrinho <lord...@gmail.com>
Reply all
Reply to author
Forward
0 new messages