rotina conversao paradox->mysql

bom dia a todos,

estou fazendo a conversao de um banco de dados paradox para mysql e necessito de dicas:

  1. criei um banco de dados temporario no mysql para servir de “ponte” entre os dois ambientes.
  2. com uma ferramenta de terceiros, exporto do paradox para esse banco de dados no mysql. Com isso, fico fora do paradox e inteiramente no mysql.
  3. criei uma tabela destino no mysql, que será minha futura base real da aplicação.

aqui entra o caso:

preciso fazer a conversao dos ditos dados da tabela origem (1) para a destino (3) onde, terei de fazer filtragens de caracteres (substituindo ou removendo caracteres), busca de registros em outras tabelas, e assim vai antes de dar um insert no destino.

alguém que já fez conversões (ou importações) tem alguma estrutura pronta para minhas consultas ?

agradeceria a ajuda nesse caso, pois sempre fiz com minha linguagem nativa (precária e abandonada pelo fabricante, além de nao suportar mysql, campos text e vai…)

obrigadão

abraços
marin

Luiz,

Eu acho que nesse caso uma Stored Procedure iria servir para o teu caso. Particularmente não conheço uma rotina pronta que faça o que estás precisando.

kleyber,

não é o caso de SP. o paradox e DB origem serao descartados depois.

e não procuro uma rotina pronta que funcione no meu caso, pois isso é impossível. Procuro um modelo que alguem tenha feito do qual me basearei em pesquisa de fluxos e sintaxe.

obrigado.

aguardando…

Dúvida?

Você quer realizar uma conversão (única e definitiva onde o Paradox deixará de ser usado) ou um sistema de integração (um aplicativo que constantemente busca informações no paradox e grava no mysql)?

haroldo.

conversao unica. O paradox (e o sistema atual do cliente) deixarão de existir (pelo bem da humanidade).

então pega as tabelas e exporta para csv do paradox, faz um uma app no sc para ler esses arquivos e importar diretamente no seu banco de dados que vai ser definitivo em mysql.

[code]$_file=$this->Ini->path_doc."/".{Arquivo};
if (!file_exists($_file)) {
sc_error_message(“Não encontrou o arquivo!”);
Return;
}

$_handle = @fopen($_file, “r”);
while (!feof($_handle)) {
$_linha = fgets($_handle, 512);
if ( substr($_linha, 0, 2)==“E|”) {
$_arr=explode("|",$_linha);
$_cnpj=$_arr[2];
$_raz=$_arr[3];
$_ies=$_arr[4];
$_end=$_arr[6];
$_nrocompl=$_arr[7]." “.$_arr[8];
$_bair=$_arr[9];
$_cid=$_arr[11];
$_uf=$_arr[12];
$_cep=$_arr[13];
$_pais=substr($_arr[15],0,2);
$_apel=substr($_arr[3],0,10).” ".substr($_arr[2],0,5);

       sc_lookup(ds, "select count(*) from clientes where cl_cnpj = $_cnpj");
         if ($ds[0][0]==0){
           $_sql="insert into clientes (cl_razao, Apelido, cl_cnpj, cl_ieim, cl_cep, cl_pais, cl_uf, cl_cidade, cl_bairro, cl_endereco, nrocomp, deletar) 
           values ('$_raz','$_apel',$_cnpj,'$_ies','$_cep','$_pais','$_uf','$_cid','$_bair','$_end','$_nrocompl','N');";
         }
         else {
           $_sql="update clientes set cl_razao = '$_raz', cl_ieim = '$_ies', cl_cep='$_cep', cl_pais='$_pais', cl_uf='$_uf', cl_cidade ='$_cid', cl_bairro='$_bair', cl_endereco='$_end', nrocomp = '$_nrocompl', deletar = 'N'  where cl_cnpj = '$_cnpj';";
         }
       echo "$_sql <br>";
    }  
       
}

fclose($_handle);
[/code]

thank you haroldo

estou analisando sua ideia, segundo a qual me poupa um trajeto consideravel que estava escrevendo…

obrigado por enquanto…

$_file=$this->Ini->path_doc."/".{Arquivo}; if (!file_exists($_file)) {...

Onde {Arquivo} é um campo do tipo documento em arquivo, onde faço upload em uma app de controle.