1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ler Ficheiro .txt e inserir no MySql

Discussão em 'Programação' iniciada por Vandong, 8 de Maio de 2009. (Respostas: 4; Visualizações: 1438)

  1. Vandong

    Vandong Power Member

    boas malta,

    Estou a ter um problema que não estou a conseguir resolver que é o seguinte:
    Tenho uma rotina que efectua importação de dados ou seja, lê de um ficheiro txt e depois insere na tabela respectiva no mysql.
    As tabelas todas são do tipo Codigo;Descrição ou seja no ficheiro txt tenho da seguinte forma:
    1;a
    2;b
    3;ão
    etc...

    O problema reside que quando a descrição tem acentuação ele substitui todos os caracteres que tiverem acentuação por ?
    Se inserir serviço ele no mysql insere servi?o

    O meu segundo problema é que todas essas tabelas que tenho no mysql a chave primária que é o Código é do tipo inteiro e autoincremento, ou seja quando a importação corre mal e for lá directamente eliminar o conteúdo da tabela e voltar a inserir ele em vez de começar novamente com o Código 1 ele começar no ultimo que tinha introduzido.


    Cumps,
     
  2. blueomega

    blueomega Power Member

    ALTER TABLE nometabela AUTO_INCREMENT=0

    mas se tens algo na tabela isso apenas mudar o id pra o valor mais alto

    fazer drop da tabela e respectiva criação também resolve, mas perdes os dados

    o phpmyadmin tambem tem algum opção que resolve isso

    quanto aos ? se não é sql faz parse ao ficheiro e modifica todos os caracteres manhosos para caracteres suportados
     
  3. Vandong

    Vandong Power Member

    Quanto aos caracteres esquesitos (?) já descobri mesmo a raiz do problema.
    Estou a buscar o conteudo da tabela em access para colocar no mysql e tou a fazer da seguinte forma:
    copio o conteudo da tabela em access para excel e depois passo para txt ficando os campos separados por ;
    e aí há o problema k exprimentei passar do excel para csv e aquilo já vem com caracteres esquesitos.
    O problema já tá no conteudo copiado do access. Alguem sabe como fazer ?
     
    Última edição: 9 de Maio de 2009
  4. Muuu

    Muuu Power Member

    podes sempre deixar no ficheiro txt e depois vais buscalo no sql com o comando:

    source (caminho completo do ficheiro);

    [[]]
     
  5. Tomb4000

    Tomb4000 Power Member

    Nao acredito é que não aja uma forma menos manhosa de copiar a tabela em access para o mysql. Não faz sentido essas voltas todas... Não te sei dizer que deves fazer assim, assim e assim, mas sei dizer que o que estas a fazer não está correcto e que devias encarar o problema doutra forma. (Isto se o objectivo é mesmo copiar uma tabela de uma sgbd para outra, se estiveres a fazer outra coisa e por alguma forma o que estas a fazer tem que ser assim, retiro o que disse)

    Cumps
     

Partilhar esta Página