tabela para arquivo texto...

04/09/2003

0

Estou migrando a base de dados do meu sistema que está em Paradoxx para MySQL.
Preciso de alguma forma exportar os dados das tabelas antigas para as novas em MySQL.
Não sei se existe uma ferramenta que faça isso direto... se alguem souber...
O que me indicaram foi exportar (atrasves de codigo mesmo) o conteudo das tabelas para um arquivo texto e depois no MySQL-Front importar esse arquivo texto que precisa estar na seguinte estrutura:

------------
Campo1;Campo2;Campo3
Conteudo11;Conteudo12;Conteudo13
Conteudo21;Conteudo22;Conteudo23
Conteudo31;Conteudo32;Conteudo33
Conteudo41;Conteudo42;Conteudo43
.
.
.
-------------

Estou usando a função WriteLn pra copiar as strings pra um arquivo texto, mas ele não concatena (coloca um do lado do outro)... essa função coloca uma quebra de linha e já na linha dos campos fica:

------------
Campo1;
Campo2;
Campo3
.
.
.
-----------

Alguem tem uma luz pra isso ??
Ou com algum aplicativo que faça essa conversão (Paradoxx - MySQL ou Paradoxx - Arquivo Texto) ou saiba de alguma função melhor pra colocar strings em texto...

[]´s
Renato Mendes


Renato_mendes

Renato_mendes

Responder

Posts

05/09/2003

Mysys

amigo c voce criar uma conexao ODBC para o banco de dados que voce que importar para o MySQL
ai voce entra no MySQL-Front e vai no menu im-/Export e depois em
ODBC Importa voce vai poder importar os dados direto do banco de dados


Responder

06/09/2003

Joelpa

Boas


depois de criares a tabela no Mysql
tenta la esta sena

tabela.First;
While not tabela.Eof do
begin
memo1.Lines.Add(´INSERT INTO distrito VALUES (´´+tabelacampo1.text+´´,´´+tabelacampo2.Text+´´);´);
tabela.Next;
end;

memo1.Lines.SaveToFile(diretorio+´distrito.txt´);

agora é so copiar o conteudo do ficheiro para o o Mysql Front fas um post
na Query e executa
Ok


Responder

09/09/2003

Renato_mendes

Bom, no mesmo dia eu achei uma solução... e é para qualquer tabela... digamos, qualquer estrutura... tabelas com campos diferentes, senao tem que fazer um codigo para cada tabela do BD, como no caso do exemplo que o JOELPA usou com INSERTs.

Ai vai o codigo, quem precisar e nao entender, me envia uma msg...

-----------------------
procedure TForm1.SpeedButton1Click(Sender: TObject);
var f : textfile;
sr : TSearchRec;
NomeTabela, msg : string;
cont, i : integer;
Linha : String;
begin
NomeTabela := Copy(Combobox1.Text, 1, Pos(´.´, Combobox1.Text) - 1); // pega o nome sem ´.db´

if NomeTabela = ´´ then exit;
Table1.TableName := Combobox1.Text;

AssignFile (f, ´C:\Diretorio\Tabelas\´ + NomeTabela + ´.txt´);
if FindFirst (´C:\Diretorio\Tabelas\´ + NomeTabela + ´.txt´, faAnyFile, sr) = 0 then
begin
{$I-}
Reset (f);
{$I+}
IOResult;
end else
ReWrite (f);

Table1.Open;
cont := Table1.FieldCount - 1;

Append (f);
Linha := ´´;

for i := 0 to cont - 1 do
begin
Linha := Linha + Table1.Fields[i].FullName + ´;´;
end;
Linha := Linha + Table1.Fields[i].FullName; // ultimo nao tem ´;´
WriteLn (f, Linha); // escreve a linha com nome dos campos no arquivo

Table1.First;
while not Table1.Eof do
begin
Linha := ´´;
for i := 0 to cont - 1 do
begin
Linha := Linha + Table1.Fields[i].AsString + ´;´;
end;
Linha := Linha + Table1.Fields[i].AsString;
WriteLn (f, Linha); // o mesmo só que para os valores dos campos
table1.Next;
end;
Table1.Close;

CloseFile (f);

end;
----------------------------

Espero que ajude alguem, caso precisem...

[]´s
Renato Mendes


Responder

09/09/2003

Renato_mendes

Resolvido o problema da conversão para arquivo texto... o codigo que passei funcionou bem e não perdeu nenhum dado.

Agora o problema ta sendo com a conversão TEXTO -> Tab. MySQL !!!

Estou usando o DBTools... faço tudo certinho... algumas tabelas fazem a conversão sem problemas... algumas não fazem e outras fazem conversão de parte da tabela... no final é gerado o aviso de que 300 registros foram lidos, mas 134 foram convertidos (exemplo).

Alguem sabe o que pode ser ?? Conferi os arquivos TXT e eles estão corretos.
Ou se alguem conhece alguma outra melhor para esta função.

[]´s
Renato Mendes


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar