Duvida Migração PROGRESS x SQL com DataServer e schema Holder.

Discussão em 'Progress 4GL' iniciado por marcoagl, Maio 11, 2016.

  1. marcoagl

    marcoagl Membro Participativo

    Por um decisão estratégica vamos fazer a migração do banco Progress para SQL com uso do DataServer e schema Holder.
    Foi passada uma ideia de que tudo funcionará sem problemas.
    Abordando com detalhes o assunto foi passado que deveríamos tratar os LOCK de registro de forma manual, ou seja, as nossas aplicação Progress não poderiam mais exibir aquela mensagem de "tabela em uso... " que o progress faz de forma automática.
    As nossas aplicações deveriam tratar os FIND ( usar o EXCLUSIVE-LOCK com NO-WAIT ).
    Até ai tudo bem, posso fazer essa alteração sem problema algum.

    Eu não entendi muito bem o motivo, alguém saberia o motivo de tratar os LOCK´s ?

    Eu tenho também no banco progress campos caracter que no banco tem o format x(100), mas que na verdade contem string´s com conteúdos maiores que 100 posições, como ficariam esses campos na migração para SQL ?

    Alguém já passou por essa situação e poderia relatar outros problemas ?

    Obrigado.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Eu acompanho um colega que tem o datasul12 em oracle, e ele sofre muito, principalmente com performance, pois um for each usando clausula fields não funciona.
    Tratando de locks, bem, isso pra quem é programador tipo macaco velho como eu, é obrigatório, é que tem gente que não coloca nada, dai o progress assume shared-lock e complica tudo, tem hora que não precisa e ele trava registro e assim vai.

    outra coisa que estava incomodando o meu colega, ele fez uma clausula break by por um campo que não é indice e ferrou toda a rotina dele, travou o programa.
    Pelo que eu percebi até o momento, não é uma boa vc usar o datasul, que usa linguagem progress, proprietaria do banco de dados com outro banco, apesar de ter as opções, na hora dele fazer atualização de pacotes é outro parto, tem que atualizar o oracle e depois o schema holder e dai se perde no meio, trabalheira danada.
  3. marcoagl

    marcoagl Membro Participativo

    Obrigado Richard,

    Fiquei mais preocupado ainda, pois eu uso muito o for each com a clausula fields será que no banco SQL acontece a mesma coisa ?
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    acredito eu, que vc tem uma camada de tradução, correto ? essa camada de tradução não entende todos os comandos progress, mesmo vc usando fields na camada progress, a camada intermediaria não entende isso e na camada sql faz um "select * from emitente where ....." e devolve tudo que acha, pelo que eu percebi é isso.
  5. marcoagl

    marcoagl Membro Participativo

    Acompanhando esse raciocínio as QUERY´s que tem a clausulas FIELDS também devem ficar mais lentas no ambiente com SQL?
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    sim, porque no progress com o fields, fica mais rapido porque carrega menos dados no buffer, e no modo SQL vai sempre carregar o registro completo.

    no progress vc faz for each .....: disp ..... end. e pronto, se mandar isso pro sql, vira um select ....., fetchrow ...... e dai devolve pro progress, é mais ou menos isso.

Compartilhe esta Página