Preciso abrir esse DBF...

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
acelconsultoria
Usuário Nível 3
Usuário Nível 3
Mensagens: 231
Registrado em: 10 Jan 2006 17:05
Localização: Itápolis-SP

Preciso abrir esse DBF...

Mensagem por acelconsultoria »

Oi, galera do fórum...


Estou fazendo tranferência de dados de um cliente, que possuia um sistema que também é feito em clipper, mas não consigo abrir os DBF para importar os dados... parecem estar codificados ou encriptados.

Eu upei um DBF pra quem quiser dar uma olhada...

http://www.4shared.com/file/34435633/76 ... TOQUE.html

Se alguém sabe como "quebrar" essa barreira, agradeço desde já !!!

Não consigo abrir esse arquivo com nenhum programa... já tentei de tudo, FoxBase, DBaseIII, DBase for Windows.... todos os programas dizem que é um arquivo inválido... mas o sistema antigo do meu cliente os abre e os lê normalmente... Qual seria o macete ???

Abraços a todos !!!
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mensagem por Toledo »

Maickon, se este arquivo estiver encriptado, provavelmente quando o programa do seu cliente for abrir este arquivo, deve descriptar o mesmo para que possa ser usado. Então basta você entrar no programa e ir até na tela de digitação deste arquivo, depois volte para o Windows (sem sair da tela de digitação) e faça uma cópia do arquivo.

Acho que pode dar certo!

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tentou entrar em contato com a empresa ou pessoa que desenvolveu o sistema ? talvez eles lhe passe alguma dica, pelo que sei os dados da empresa pertence a empresa que comprou a licença do Software e quem fez o sistema não pode restringir essas informações de quem compra.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Isso mesmo que o Toledo falou.

Se o dbf tá encriptado ou protegido, ao entrar no sistema OBRIGATORIAMENTE é desprotegido. Enquanto o sistema estiver em execução o dbf tá desprotegido, então entre em alguma rotina em que o sistema usa esse dbf, deixe-o aberto e pelo windows copie o dbf.

Deve dar certo. Já tentei isso uma vez e funcionou.

Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Isso pode realmente funcionar, SE o programa for Clipper. Nada impede que outro programa qualquer, usando outro padrão, utilize a extensão DBF.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

que possuia um sistema que também é feito em clipper, mas não consigo abrir os DBF para importar os dados...
Maickon, pode ser uma coisa bem simples, que está em algum lugar aqui mesmo no site do Toledo... Não lembro exatamente como era (tá em algum lugar aqui no meu HD, vou procurar), mas é simples: vc muda 1 byte de lugar, no header do DBF (tipo trocar AB por BA), e nem o Clipper nem o Excel nem o DBU conseguem "enxergar" o DBF como arquivo válido.

Ou seja, o software espera encontrar AB e, como encontra BA, refuga.

Na hora de usar, o seu EXE troca BA por AB, aí a coisa volta ao normal...
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Maickon, procure por algo como "PROTEGE" ou "DESPROTEGE" DBF...

Achei!

Código: Selecionar todos

/*
 ÉÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
 º PROGRAMA: º DEMONSTRACAO DAS FUNCOES PCTLib                    º
 º DATA    : º 04/07/94                                           º
 º MODULO  : º EXEMPLO DA FUNCAO --> PROTEC()                     º
 º CRIACAO : º PC Toledo Software                                 º
 º ARQUIVO : º XPROTE.PRG                                         º
 ÈÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
*/
 LOCAL telc:=SAVESCREEN(0,0,24,79),cPro:='S'   //variaveis locais
 SET CURSOR ON                          //liga cursor
 v_arq="TESTE.DBF"    //nome do DBF
 IF !FILE(v_arq)      //Se nao existe
  DBCREATE(v_arq,{;   //cria o DBF
                  {"codigo" ,"C", 4,0},;
                  {"nome"   ,"C",30,0},;
                  {"fone"   ,"C", 8,0};
                 })
 ENDIF
 SETCOLOR("GR+/N,GR+/N")                //amarelo com fundo preto
 CAIXA(xmold,8,24,12,56,.t.)            //monta caixa
 IF PROTEC(v_arq)
  @ 10,26 SAY "Protege Arquivo (S/N)..:" GET cPro PICT "!";
                                         VALID cPro $ "SN"
  READ
  IF LASTKEY()=27
   cPro='N'
  ENDIF
  IF cPro='S'
   PROTEC(v_arq,.f.)
   ALERT("Verifique atraves do DBU se o arquivo est  protegido")
  ENDIF
 ELSE
  @ 10,26 SAY "Desprotege Arquivo (S/N)..:" GET cPro PICT "!";
                                         VALID cPro $ "SN"
  READ
  IF LASTKEY()=27
   cPro='N'
  ENDIF
  IF cPro='S'
   PROTEC(v_arq,.t.)
   ALERT("Verifique atraves do DBU se o arquivo est  desprotegido")
  ENDIF
 ENDIF
 SET CURSOR OFF                   //desliga cursor
 RESTSCREEN(0,0,24,79,telc)       //restaura tela
 SET COLOR TO                     //restabelece cores padrao
 RETURN                           //volta ao menu
*ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
*º Final do arquivo                                   {PC Toledo} º
*ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Editado pela última vez por Eolo em 10 Jan 2008 13:52, em um total de 1 vez.
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Eolo escreveu:Maickon, procure por algo como "PROTEGE" ou "DESPROTEGE" DBF...
Já tentei todas as funções de proteção de dbf que tenho aqui, inclusive as que vc mencionou e nenhuma funcionou.

Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Janio, eu tenho um treco aqui que achei na NET, que mostra o header de um DBF em detalhes... Só não sei como subir aqui pro Forum! Vou subir como texto, mesmo. Truco...

Mas é mais ou menos o seguinte: vc pega o 11o. e o 12o. bytes do DBF (do Header = cabeçalho do DBF) e troca eles de posição. Assim, eles ficam "ENCRIPTADOS" porque ninguém (DBase, DBU, Excel etc) consegue abrir. Para desencriptar, reverte a troca.
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Bingo! Achei o link:
http://www.clicketyclick.dk/databases/x ... E_2_SOURCE

Mostra o DBF "por dentro". Muito chic.

Ops, correção: mostra um DBF 3 ou 4 por dentro. Um DBF 7 é outra história.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Eolo, eu acho que poderia até conseguir recuperar a ESTRUTURA desses DBF (se é que padrão XDBASE mesmo) mas os dados muito possívelmente irão estar encripatados. Eu baixei e achei bem dificil de descobrir alguma identificação, salvo algun caracteres fixo que poderia sem os delimiters para a questão da estrutura do "possível" DBF. Mas que irá quebrar a cabeça... vai...

Deixa te dar uma outra sugestão que servirá para extrair os dados de uma só vez, isto é a minha indicação não servirá para fazer uma interação entre os dois sistemas.

Maickon, esse sistema tem relatórios ? Esses relatórios, tem os dados que você precisa para importar na sua base de dados ?. Se sim, então capture a impressão para arquivo (pode fazer isso com a instalação de impressora generica com saída a arquivo ou utilizar PRN2FILE.EXE). Crie um arquivo de por ves e você poderá ler nas posições em que se encontram os dados tão valiosos.

Eu ganhei um cliente que tinha um sistema em Cobol e fiz isso. Fois batata (isso porque gosto de STRINGS, SUBSTRINGS, APPEND, CREATE...). O quê você acha disso Maickon ? A indicação do Toledo, não serviu ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Eu vi o DBF do colega. SE ele foi encriptado, encriptaram o arquivo todo, inclusive o header. Ficou absolutamente ilegível por qualquer programa tradicional. Não foi uma mera troca de bytes.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Realmente a coisa é feia ! Não dá para identificar nada !
Faça como sugerido mais acima, abra o programa original, e estoure a tela. O resultado será o arquivo intacto.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
acelconsultoria
Usuário Nível 3
Usuário Nível 3
Mensagens: 231
Registrado em: 10 Jan 2006 17:05
Localização: Itápolis-SP

Mensagem por acelconsultoria »

Aê, galera... valeu pelo apoio que vcs tem dado !!!

Realmente o negócio é SINISTRO !!! hehehehehe

Na verdade, esse sistema antigo tá um relaxo total... não possui os relatórios que deveriam possuir, o caixa não funciona obedecendo critérios de fluxo de caixa contábil, enfim... por isso que estamos implantando o nosso sistema lá tentando aproveitar parte do banco de dados.

Hoje fui na empresa, e abri o programa e entrei na tela de cadastro de produtos e minmizei-o. Aí, abri o prompt do DOS e mandei um COPY.... não funcionou, deu mensagem de "violação de compartilhamento". Então recorri ao Windows Explorer, mesma coisa !!!

Bom, tá realmente difícil... eu não sou expert em programação, apenas sei o que a empresa precisa para possuir uma excelente gestão financeira. O que tenho em mente em fazer é reunir o pessoal para uma força tarefa, e cadastrar todo o estoque... até que não é muito... uns 3 mil ítens. Não existe como exportar relatórios ou coisa do tipo... então imprimi as vendas pra avaliar... HORRÍVEL !!! Lançamentos errados... erros por parte do usuário, erros de lógica do sistema antigo... enfim, tá uma ZONA !!!

Infelizmente, 90% do trabalho vai ter que ser refeito... muita coisa vai ter que ser recadastrada mesmo. Mas agradeço demais a força de todos !!! Acabei aprendendo mais esse macete com DBFs que eu não sabia !!!

Muito Obrigado mesmo !!!!

Abraços a todos.
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

acelconsultoria escreveu:até que não é muito... uns 3 mil ítens. Não existe como exportar relatórios ou coisa do tipo...
Uhmm, acho que não é isso que eu tentei te explicar... Se você me dizer que os relatórios não contém todos os dados que você precisa para exportá-los aum um DBF, aí tudo bem, dou-te a razão. Mas o que eu quis dizer é que caso tais relatórios contenham todos os dados suficientes para serem processados, eu diria que ainda tem jeito sim. Após capturar a impressão em arquivo dos relatórios obtidos, bastaria fazer um programa para pegar as substrings com tamanhos fixos no lugar fixo.

Noentanto, pode-se considerar mais louvável começar tudo de novo, avaliar o que está correto e refazer. Pois a vezes é melhor partir numa nova força tarefa de re-criar as coisa de forma mais corretamente possível.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder