Conversor SQL para DBF
Moderador: Moderadores
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Conversor SQL para DBF
Prezados, saudações!
Estou com 3 tabelas gigantes aqui com a estensão .SQL e preciso de um utilitário que fizesse essa conversão para .DBF, alguém conhece algum?
O inverso encontramos com facilidade na internet...
Um abraço!
Estou com 3 tabelas gigantes aqui com a estensão .SQL e preciso de um utilitário que fizesse essa conversão para .DBF, alguém conhece algum?
O inverso encontramos com facilidade na internet...
Um abraço!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Conversor SQL para DBF
Olá!
A extensão .SQL, por si só, não diz muito sobre o formato do conteúdo. Pode ser um export, em formato texto separado por vírgulas.
Teria mais detalhes, como o banco que gerou este arquivo? Abriu o arquivo para checar o tipo de conteúdo? É binário ou texto?
Talvez esse mesmo banco exporte os dados das tabelas em .DBF ou .CSV. Sabendo o formato ficará mais fácil. Ou com [x]Harbour possa ser possível acessá-lo diretamente.
A extensão .SQL, por si só, não diz muito sobre o formato do conteúdo. Pode ser um export, em formato texto separado por vírgulas.
Teria mais detalhes, como o banco que gerou este arquivo? Abriu o arquivo para checar o tipo de conteúdo? É binário ou texto?
Talvez esse mesmo banco exporte os dados das tabelas em .DBF ou .CSV. Sabendo o formato ficará mais fácil. Ou com [x]Harbour possa ser possível acessá-lo diretamente.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Conversor SQL para DBF
Essas tabelas SQL são resultados de um EXPORT um .ABS (Absolute Database - Delphi) que não faz direto para .DBF.
Eis o trecho inicial de uma delas (a apartir da linha final aqui, é uma repetição contínua até o final do arquivo...).
Grato!
Eis o trecho inicial de uma delas (a apartir da linha final aqui, é uma repetição contínua até o final do arquivo...).
Código: Selecionar todos
DROP TABLE sm;
CREATE TABLE sm (
VO VARCHAR(1),
CD VARCHAR(4),
CM VARCHAR(5),
NQ VARCHAR(50),
CP VARCHAR(5),
NL VARCHAR(3),
MT VARCHAR(1),
DS VARCHAR(4),
RG VARCHAR(20),
RT VARCHAR(10),
FL VARCHAR(10),
INDEX smA (VO, NQ),
INDEX smC (NL),
INDEX smF (MT, NQ),
INDEX smI (VO, CD),
INDEX smJ (VO, NL)
);
INSERT INTO sm values ('G', 'GTaa', NULL, 'SNC, depressores do', NULL, '---', '-', 'Taa', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTaa', '_#Gbz', 'Anestésicos gerais>>', NULL, 'Taa', '>', 'Saa', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTab', NULL, 'Anestésicos intravenosos>>', NULL, 'Saa', '>', 'Sbw', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Barbitúricos', NULL, 'Sbw', NULL, 'ƒ01', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Benzodiazepínicos', NULL, 'Sbw', NULL, 'ƒ02', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Opióides', NULL, 'Sbw', NULL, 'ƒ03', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Diversos', NULL, 'Sbw', NULL, 'ƒ04', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Associação', NULL, 'Sbw', NULL, 'ƒ05', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTac', NULL, 'Sedativos-hipnóticos>>', NULL, 'Taa', '>', 'Sab', NULL, NULL, NULL);
...
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Conversor SQL para DBF
Olá Dr.Microso !
Os arquivos que você possui são do tipo: Texto Plano com os comandos SQL para criação da Tabela e inserção dos dados ( uso em qquer formato de dados com suporte a linguagem SQL )
Caso tenha afinidade com a linguagem SQL, poderá usar: Database Desktop ( Delphi ), FoxPro ou o DBF Commander; criando a tabela .dbf desejada...
Alternativamente pode-se usar qquer editor de texto e deixar no formato CSV ( segue exemplo ):
Antes ( Plain Text):
Depois ( CSV ):
Os arquivos que você possui são do tipo: Texto Plano com os comandos SQL para criação da Tabela e inserção dos dados ( uso em qquer formato de dados com suporte a linguagem SQL )
Caso tenha afinidade com a linguagem SQL, poderá usar: Database Desktop ( Delphi ), FoxPro ou o DBF Commander; criando a tabela .dbf desejada...
Alternativamente pode-se usar qquer editor de texto e deixar no formato CSV ( segue exemplo ):
Antes ( Plain Text):
Código: Selecionar todos
INSERT INTO sm values ('G', 'GTaa', NULL, 'SNC, depressores do', NULL, '---', '-', 'Taa', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTaa', '_#Gbz', 'Anestésicos gerais>>', NULL, 'Taa', '>', 'Saa', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTab', NULL, 'Anestésicos intravenosos>>', NULL, 'Saa', '>', 'Sbw', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Barbitúricos', NULL, 'Sbw', NULL, 'ƒ01', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Benzodiazepínicos', NULL, 'Sbw', NULL, 'ƒ02', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Opióides', NULL, 'Sbw', NULL, 'ƒ03', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Diversos', NULL, 'Sbw', NULL, 'ƒ04', NULL, NULL, NULL);
INSERT INTO sm values ('b', 'GTab', NULL, 'Associação', NULL, 'Sbw', NULL, 'ƒ05', NULL, NULL, NULL);
INSERT INTO sm values ('a', 'GTac', NULL, 'Sedativos-hipnóticos>>', NULL, 'Taa', '>', 'Sab', NULL, NULL, NULL);
Código: Selecionar todos
"G","GTaa","","SNC, depressores do","","---","-","Taa","","",""
"a","GTaa","_#Gbz","Anestésicos gerais>>","","Taa",">","Saa","","",""
"a","GTab","","Anestésicos intravenosos>>","","Saa",">","Sbw","","",""
"b","GTab","","Barbitúricos","","Sbw","","ƒ01","","",""
"b","GTab","","Benzodiazepínicos","","Sbw","","ƒ02","","",""
"b","GTab","","Opióides","","Sbw","","ƒ03","","",""
"b","GTab","","Diversos","","Sbw","","ƒ04","","",""
"b","GTab","","Associação","","Sbw","","ƒ05","","",""
"a","GTac","","Sedativos-hipnóticos>>","","Taa",">","Sab","","",""
M., Ronaldo
by: IMATECH
IMATION TECNOLOGIA
by: IMATECH
IMATION TECNOLOGIA
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Conversor SQL para DBF
Prezado Imatech, não possuo afinidade com a linguagem SQL...
Por favor, poderia me passar um passo-a-passo com o app DBF Commander?
Grato!
Por favor, poderia me passar um passo-a-passo com o app DBF Commander?
Grato!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Conversor SQL para DBF
Olá Dr.Microso,
Não sei se já resolveu a migração dos dados, mas como tenho que fazer o mesmo com um banco de CEPs em SQL neste mesmo formato: "Texto Plano com os comandos SQL" (que nem sabia que tinha essa denominação, aprendi neste tópico), acabei conseguindo, e montei um exemplo com as suas informações. Veja se ajuda:
Não sei se já resolveu a migração dos dados, mas como tenho que fazer o mesmo com um banco de CEPs em SQL neste mesmo formato: "Texto Plano com os comandos SQL" (que nem sabia que tinha essa denominação, aprendi neste tópico), acabei conseguindo, e montei um exemplo com as suas informações. Veja se ajuda:
Código: Selecionar todos
/***********************************
Compilar: hbmk2 Arquivo.PRG -lxhb
*///////////////////////////////////
REQUEST DBFCDX
Function Main()
Local i, cBuffer, cLinha, nQtdLin, nConta := 0, nHandler
Local cArquivoSQL := "SQL_File.SQL" // Arquivo Origem
Local cArquivoCVS := "CSV_File.CSV" // Arquivo de Transicao
Local ArquivoDBF := "DBF_File.DBF" // Banco de Dados Destino
RDDSetDefault( "DBFCDX" )
DBSetDriver( "DBFCDX" )
Clear Screen
cBuffer := FOpen( cArquivoSQL, 2 )
nHandler := FCreate( cArquivoCVS )
Do While Hb_FReadLine( cBuffer, @cLinha, Nil, 255 ) = 0
If ( "sm values" $ cLinha )
cLinha := Subst( cLinha, At( ['], cLinha ) )
cLinha := StrTran( cLinha, ");", "," )
cLinha := StrTran( cLinha, "NULL", "" )
cLinha := StrTran( cLinha, "'" )
cLinha := Hb_AnsiToOem( cLinha ) + Hb_Eol()
// cLinha := Upper( cLinha )
FWrite( nHandler, cLinha, Len( cLinha ) )
EndIf
@ 5, 2 Say ++nConta
EndDo
FClose( nHandler )
DbCreate(ArquivoDBF,{;
{"vo" ,"C", 01, 0},;
{"cd" ,"C", 04, 0},;
{"cm" ,"C", 05, 0},;
{"nq" ,"C", 50, 0},;
{"cp" ,"C", 05, 0},;
{"nl" ,"C", 03, 0},;
{"mt" ,"C", 01, 0},;
{"ds" ,"C", 04, 0},;
{"rg" ,"C", 20, 0},;
{"rt" ,"C", 10, 0},;
{"fl" ,"C", 10, 0};
})
Use ( ArquivoDBF )
@ 5, 2 Say "Copiando os dados para o DBF"
Append From ( cArquivoCVS ) DELIMITED
@ 5, 2 Say "Gerando os indices "
Index On Upper( vo + nq ) To ( "smA" )
Index On Upper( nl ) To ( "smC" )
Index On Upper( mt + nq ) To ( "smF" )
Index On Upper( vo + cd ) To ( "smI" )
Index On Upper( vo + nl ) To ( "smJ" )
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Conversor SQL para DBF
Prezado Jairo, olá!
Era uma pendência que não tinha resolvido ainda... Puxa!
Com certeza será também de utilidade aos próximos que tenham esse problema.
Muito, mas muito grato mesmo por sua ajuda!
Um forte e fraterno abraço!
Era uma pendência que não tinha resolvido ainda... Puxa!
Com certeza será também de utilidade aos próximos que tenham esse problema.
Muito, mas muito grato mesmo por sua ajuda!
Um forte e fraterno abraço!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Conversor SQL para DBF
Olá Dr.Microso !
Desculpe a falta de resposta (achei que já estava resolvido e não voltei ao tópico)
De qquer forma nosso amigo Jairo já forneceu bõa solução via código :)Pos
Sucesso...
Desculpe a falta de resposta (achei que já estava resolvido e não voltei ao tópico)
De qquer forma nosso amigo Jairo já forneceu bõa solução via código :)Pos
Sucesso...
M., Ronaldo
by: IMATECH
IMATION TECNOLOGIA
by: IMATECH
IMATION TECNOLOGIA