Autor Tópico: Firebird para Mysql  (Lida 587 vezes)

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Firebird para Mysql
« Online: Outubro 07, 2015, 11:35:16 am »
Estou penando um pouco, fiz um script para pegar os dados do firebird e jogar dentro das tabelas e campos que eu orientei, bom o meu problema é o seguinte, alguém conhece uma maneira mais fácil de eu apenas indicar o banco e o script criasse as tabelas, campos e dados caso não tenha. Alguém pode me ajudar.. sou péssimo neste quesito...

Aqui meu script:

<?php
set_time_limit(0);//zera o limite de tempo

//conexão com mysql
$mysql=mysql_connect('111.111.111.111','BANCO','xxxxxxx');

//conexão com firebird
$ibase=ibase_connect('222.222.222.222:C:\BASE.FDB', 'xxxxx', 'xxxxx') or die ('Erro ao conectar');
$i=0;


$busca=ibase_query("SELECT CODIGO, INATIVO FROM CAD001",$ibase);
$count=ibase_fetch_object($busca);
$total=count($busca);

while($row=ibase_fetch_object($busca)){

    //dentro da query o nome banco de dados e tabela
    $sql =mysql_query("insert into propague_erp.cad001 (codigo, inativo) values ('".$row->CODIGO."', '".substr($row->INATIVO,5,100)."') ",$mysql);
    $i++;

    $largura=(($i*100)/$total);//calcula andamento da operação em percentual, na teoria, pois não consegui fazer funcionar..rs
    $perc=(int)($largura);
    echo "<div style='width:300px; height:20px; background:#fff; border:1px solid #f00; position:absolute; top:55px; left:10px'>
        <div style='width:$largura%; height:20px; background:#f00; position:absolute; top:0; left:0'></div>
    </div>

    <div style='width:100px; height:20px; background:#fff; position:absolute; top:95px; left:155px'>$perc</div>
   
   
    ";

}
if($sql){
echo $i."registros importados";
}

?>

Willian Fernando

  • Expert
  • *****
  • Mensagens: 1154
  • .....
    • Email
Re:Firebird para Mysql
« Responder #1 Online: Outubro 07, 2015, 12:02:11 pm »
Tudo na unha meu amigo..
criar a tabela, colunas , indicies , Fks, Pks, etc.

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Firebird para Mysql
« Responder #2 Online: Outubro 07, 2015, 12:14:05 pm »
Tudo na unha meu amigo..
criar a tabela, colunas , indicies , Fks, Pks, etc.
Tô querendo fugir disto... são várias tabelas... campos então nem se fala...rs

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Firebird para Mysql
« Responder #3 Online: Outubro 07, 2015, 12:42:00 pm »
Tem mesmo que ser um script?
Eu costumo usar esta ferramenta https://www.spectralcore.com/fullconvert
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

flaviosfmartins

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Firebird para Mysql
« Responder #4 Online: Outubro 07, 2015, 01:46:01 pm »
Se for algo definitivo exporta o banco em sql e importa no mysql


Ir do firebird para o mysql é mais fácil


várias ferramentas fazem isso como "exportar metadata"




joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Firebird para Mysql
« Responder #5 Online: Outubro 07, 2015, 03:34:37 pm »
Se for algo definitivo exporta o banco em sql e importa no mysql


Ir do firebird para o mysql é mais fácil


várias ferramentas fazem isso como "exportar metadata"





Tentei fazer isto, mas ele dá erro pois não encontra as tabelas e os campos, sabe me informar quais são as opções que devo marcar para ir redondo?

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Firebird para Mysql
« Responder #6 Online: Outubro 07, 2015, 03:35:53 pm »
Tem mesmo que ser um script?
Eu costumo usar esta ferramenta https://www.spectralcore.com/fullconvert
É pago, será que o trial faria pelo menos uma vez? Pois depois de levar toda a estrutura eu tentaria atualizaria com um script...

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Firebird para Mysql
« Responder #7 Online: Outubro 07, 2015, 03:43:19 pm »
Joelton,
Não sei informar se o trial faria isto.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

flaviosfmartins

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Firebird para Mysql
« Responder #8 Online: Outubro 08, 2015, 09:23:51 am »
Se for algo definitivo exporta o banco em sql e importa no mysql


Ir do firebird para o mysql é mais fácil


várias ferramentas fazem isso como "exportar metadata"





Tentei fazer isto, mas ele dá erro pois não encontra as tabelas e os campos, sabe me informar quais são as opções que devo marcar para ir redondo?

Eu exportaria TUDO, e antes de importar editaria manualmente no arquivo SQL:

Mudaria para minúsculo ,
O Firebird usa o SQL92 que o mysql deveria contemplar tudo mas não funciona coisinhas como o GENERATOR e
a sintaxe das triggers e procedures

Então especial cuidado com os generator e PK ( crie as tabelas sem eles e depois acrescente as PK no mysql )

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Firebird para Mysql
« Responder #9 Online: Outubro 08, 2015, 09:41:45 am »
Se for algo definitivo exporta o banco em sql e importa no mysql


Ir do firebird para o mysql é mais fácil


várias ferramentas fazem isso como "exportar metadata"





Tentei fazer isto, mas ele dá erro pois não encontra as tabelas e os campos, sabe me informar quais são as opções que devo marcar para ir redondo?

Eu exportaria TUDO, e antes de importar editaria manualmente no arquivo SQL:

Mudaria para minúsculo ,
O Firebird usa o SQL92 que o mysql deveria contemplar tudo mas não funciona coisinhas como o GENERATOR e
a sintaxe das triggers e procedures

Então especial cuidado com os generator e PK ( crie as tabelas sem eles e depois acrescente as PK no mysql )

Isso me lembrou um sistema antigo em DBF (CLIPPER) que converti, importei tudo para o MySQL com nome das tabelas originais em DBF

Ai fui mudando os campos manualmente para ficar de acordo com o sistema novo e guardando (acumulando) 'os metadados' das mudanças em arquivo texto.

Depois criei uma rotina usando o formulário controle para aplicar os SQL 'metadados anotados' até ter o modelo completo convertido.

E importei tudos os DBF novamente e passei o Controle para aplicar as mudanças novamente de todos os Metadados até verificar que ficou perfeita a conversão dos dados antigos para o novo sistema.

O Sistema antigo em DBF as chaves primárias eram os campos Plano e Código, ai criei todas a chaves como ID auto-incremento e o Plano é Código passaram a ser chave únicas.
« Última modificação: Outubro 08, 2015, 09:46:44 am por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Firebird para Mysql
« Responder #10 Online: Outubro 08, 2015, 11:55:01 am »
Alguma sugestão a mais pessoal?

flaviosfmartins

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Firebird para Mysql
« Responder #11 Online: Outubro 08, 2015, 01:13:55 pm »
Quantas tabelas são ? se for menos de 10 eu faço para você de gratis

mande o SQL do firebird zipado no meu email flaviosfmartins@gmail.com


joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Firebird para Mysql
« Responder #12 Online: Outubro 08, 2015, 02:23:38 pm »
Quantas tabelas são ? se for menos de 10 eu faço para você de gratis

mande o SQL do firebird zipado no meu email flaviosfmartins@gmail.com


São várias, mas eu queria saber como faz...
Agradeço.


flaviosfmartins

  • Iniciante
  • **
  • Mensagens: 97
    • Email
Re:Firebird para Mysql
« Responder #13 Online: Outubro 08, 2015, 02:50:42 pm »
Faço assim mesmo, editando o SQL

Para usar ferramentas o termo para procurar no google é : "firebird to mysql data pump"