tabela para arquivo texto...
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
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
Curtidas 0
Respostas
Mysys
04/09/2003
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
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
GOSTEI 0
Joelpa
04/09/2003
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
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
GOSTEI 0
Renato_mendes
04/09/2003
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
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
GOSTEI 0
Renato_mendes
04/09/2003
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
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
GOSTEI 0