Importação Cancelada."; } }else{ if(cria_tabela($rs)){ $log = importa_dados($rs); $mensagem = "Resultado da importação:

Total de registros = " . ($log["ok"] + $log["erros"]) . "
Registros importados com sucesso = ". $log["ok"] . "
Erros de importação = " . $log["erros"]; }else{ $mensagem = "Erro ao criar nova tabela no Mysql
Importação Cancelada."; } } }else{ $mensagem = "Erro Access
A tabela \"" . $tabela . "\" não existe no DB Access
Por favor verifique.
Importação Cancelada."; } }else{ $mensagem = "Erro ao conectar com DB Access
Verifique se o nome do DSN esta correto, e se o mesmo foi criado
Importação Cancelada."; } }else{ $mensagem = "Erro ao conectar com Mysql
Verifique se os dados dos campos:
servidor, usuário, senha e o nome DB, estão corretos.
Importação Cancelada."; } } function importa_dados($rs){ Global $campo, $tabela; $sai["ok"] = $sai["erros"] = 0; $tot_colunas = odbc_num_fields($rs); $tabela_mysql = filtro($tabela); while(odbc_fetch_row($rs)){ $sql_inicio = "Insert Into $tabela_mysql ("; $sql_meio = " ) Values ("; for($a=1;$a<=$tot_colunas;$a++){ ($a==$tot_colunas) ? $v="" : $v=","; $nome_campo = odbc_field_name($rs,$a); $valor_campo = str_replace("'","\"",(odbc_result($rs,$nome_campo))); $nome_campo_mysql = filtro($nome_campo); $sql_inicio .= $nome_campo_mysql . $v ; $sql_meio .= "'$valor_campo'" . $v ; } $sql = $sql_inicio . $sql_meio . ")"; if(mysql_query($sql)){ $sai["ok"]++; }else{ $sai["erros"]++; } } return $sai; } function cria_tabela($rs){ Global $tot_colunas, $campo, $tabela; $tabela_mysql = filtro($tabela); $sql = "CREATE TABLE /*! IF NOT EXISTS*/ '$tabela_mysql' ("; $tot_colunas = odbc_num_fields($rs); for($a=1;$a<=$tot_colunas;$a++){ if($a==$tot_colunas){ $v = ""; }else{ $v = ", "; } $campo[$a]["campo"] = chop(filtro(odbc_field_name($rs,$a))); $campo[$a]["tipo"] = strtoupper(odbc_field_type($rs,$a)); $campo[$a]["tamanho"] = odbc_field_len($rs,$a); if($campo[$a]["tipo"]=="COUNTER" || $campo[$a]["tipo"]=="INTEGER"){ $sql .= "'" . $campo[$a]["campo"] . "' INT" . $v ; }else if($campo[$a]["tipo"]=="LONGBINARY"){ $sql .= "'" . $campo[$a]["campo"] . "' LONGBLOB" . $v ; }else if($campo[$a]["tipo"]=="LONGCHAR"){ $sql .= "'" . $campo[$a]["campo"] . "' LONGTEXT" . $v ; }else if($campo[$a]["tipo"]=="DATE" || $campo[$a]["tipo"]=="DATETIME"){ $sql .= "'" . $campo[$a]["campo"] . "' DATETIME" . $v ; }else if($campo[$a]["tipo"]=="CURRENCY"){ $sql .= "'" . $campo[$a]["campo"] . "' FLOAT" . $v ; }else if($campo[$a]["tipo"]=="DOUBLE"){ $sql .= "'" . $campo[$a]["campo"] . "' DOUBLE" . $v ; }else{ //Campo padrão VARCHAR if(round($campo[$a]["tamanho"])>255){ $comprimento = "255"; }else{ $comprimento =$campo[$a]["tamanho"]; } $sql .= "'" . $campo[$a]["campo"] . "' VARCHAR(". $comprimento .")" . $v ; } } $sql .= ")"; $sql = str_replace("'","`",$sql); if(mysql_query($sql)){ return 1; }else{ return 0; } } function con_access(){ Global $dsn; $con = @odbc_connect($dsn,"",""); return $con; } function con_mysql(){ Global $host, $user, $pwd, $db; $link = @mysql_connect($host,$user,$pwd); if($link && mysql_select_db($db)){ return $link; }else{ return 0; } } function filtro($entra){ $retirar = " - +=(#)ãçáàäâéèêíìîïóòôõÂÁÀÂÓÒÔÕÇÈÉÊÎÌÍÏÛÚÙ?~^|\\/{}[]@$%¨"; //Lista de caracteres invalidos para mysql if(strlen($entra)>0){ for($a=1;$a<=strlen($retirar);$a++){ $x = substr($retirar,$a,1); $entra = str_replace($x,"_",$entra); } }else{ return $entra; } return $entra; } ?> Access Para Mysql - www.netdinamica.com.br Conversor Access para Mysql - (Importa banco de dados em Access para Mysql)

Aviso !

 
Dados do DB Access (DB Origem)
Nome do DSN para o DB Access:
"> (DSN - ODBC - Para o DB Access)
Nome da Tabela a ser importada:
"> (Tabela do Access)
Tipo de importação:
Apenas a estrura da tabela        Estrutura e Dados da Tabela
 
Dados do DB Mysql (DB Destino)
Nome ou IP do Host Mysql:
"> (IP ou nome do host Mysql)
Usuário do Mysql:
"> (Nome do usuário Mysql, em geral "root")
Senha do Mysql:
"> (Senha do Mysql, quanto tiver senha)
Nome do DB de destino no Mysql:
"> (Nome do Banco de destino no Mysql)
 
 
Manual de uso

Para fazer a conversão e importação do Access para Mysql siga os seguintes passos:

1 - Crie um DSN para o DB Access a ser importado.
2 - Digite o nome do DSN criado.
3 - Digite o nome da tabela a ser importada. (Este script importa uma tabela por vez)
4 - Selecione o tipo de importação: "Estrutura e Dados da Tabela" ou "Apenas a estrutura da Tabela"
5 - Digite os dados do Mysql, host, usuário, senha e o Nome do DB de destino no Mysql.
6 - Clique no botão "Importar Agora".
7 - Se os dados que você forneceu estiverem corretos, os dados serão importados para o Mysql, caso contrario o sistema ira informar se houve falha.
8 - Após a importação o script, irá informar quantos registros foram importados e se houve falhas.

Como podem ver o processo de importação é bem simples.
By: Luciano Lima - netdinamica@netdinamica.com.br - www.netdinamica.com.br