Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

SLIFE

Descobrir Formato da Base Dados

Mensagens Recomendadas

SLIFE

Boas a todos

Estou com um problema.

Eu actualmente trabalho com um programa em ambiente windows.

Mas á uns anos atrás o programa que trabalhava, foi desenvolvido em Formato DOS.

Esse programa acede a base de dados, mas as extensões das mesma foram trocadas.

E não sei como descobrir o formatos das mesmas.

Já tentei alterar as extensões para mdb, para dbf, para mdf, e nada, não consigo aceder as mesmas.

Eu precisava de aceder a estas base de dados para poder efectuar a conversão para o programa em Windows, que tem base de dados (Actualmente em DBF) mas está a ser convertido para SQL.

Existe alguma maneira de poder descobrir qual o formato de uma base de dados??

Como poderei fazer isso?

Obrigado

Abraço

SLIFE


Sandro Coelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Em primeiro lugar qual era a extensão em que o ficheiro estava antes de mudares?

Mesmo que as extensões tenham sido trocadas, podem eventualmente haver pistas que algum de nós reconheça (embora tu não tenhas conseguido).

Em segundo lugar, para além de mudares as extensões dos ficheiros, que outras coisas tentaste fazer para identificar o tipo de ficheiro?

Experimentaste utilizar o comando ftype (command.com) no sistema onde a BD estava instalada? E o assoc?

Experimentaste por exemplo (com o command.com), fazer um:

 type ficheiro_da_bd |more

;

para tentares ver os conteúdos do ficheiro? As vezes chega...

Era só um ficheiro e um tipo de ficheiro? Ou vários?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SLIFE

Era só um ficheiro e um tipo de ficheiro? Ou vários?

Boas

São dois ficheiros com o mesmo nome, tipo: ARTGS.I e ARTGS.D

Quando faço o Type, aparece diversa informação, e muita dela é a que eu preciso.

Mas junto a essa informação aparece muitos caracteres esquisitos tipo ascii.

Exemplo:

S /PAINHOS 26       (@333333(@                áz®GÁ<@=

×£pý3@¸…ëQÜjÀú~j¼tQ¤À                    26464280                                  94281      PAIO LOMBO ONNO                P PAIOS /PAINHOS 26       (@


Sandro Coelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Temos então um ficheiro binário, o que já exclui algumas opções (infelizmente para ti poucas)...

Após algumas investigação, acho que a melhor hipótese é que se tratem ficheiros de Progress Database. Infelizmente isto parecem ser más notícias, porque para além de não ter a certeza que sejam mesmo ficheiros deste tipo, também não encontrei qualquer relato de quem quer que seja que tenha conseguido aceder aos dados sem usar esse software e li rumores que podes ter que gastar uns milhares de euros (presumo que em licenças da aplicação e serviços) para resolver o problema... Se forem mesmo ficheiros deste software temos mais um belo caso de lock-in proprietário.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SLIFE

lock-in proprietário.

Por outras palavras, não há hipotese é isso?

As base de dados foram criadas pelo antigo programador de forma especifica, é isso?

Não usou nenhum programa de Bade dados para as fazer.


Sandro Coelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Duvido que o formato fosse criado pelo programador, dá demasiado trabalho.

Creio que isso são ficheiros DBase e, se a aplicação era do tempo do DOS, o mais provável é que fosse Clipper.

Já experimentaste abrir os ficheiros com o Access (ou algo idêntico) como DBase?


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

M6 os ficheiros DBase não costumam usar essa extensão (embora tecnicamente não haja impedimento), mas tal como disse no post anterior o Progress Database usa...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

A extensão .dbf começou precisamente no dBase II, no tempo do DOS.

A solução mais fácil seria contactar o fornecedor para saber mais informações.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

M6, mas os ficheiros não lhe chegaram "às mãos" com uma extensão .dbf... Ele é que alterou para várias (entre as quais .dbf), numa tentativa para abrir os ficheiros... Presumo que ele tenha mudado a extensão como parte de um esforço para abrir o ficheiro como sendo um ficheiro dos vários tipos de extenções que ele experimentou... E se ele já experimentou com .dbf e não conseguiu, então acho relativamente seguro afirmar que não se trata de um .dbf (a não ser que cheguemos à conclusão que ele tentou de forma errada).

À excepção da idade aparente da aplicação, não vejo qualquer razão para pensar que se tratam de ficheiros .dbf, ou ficheiros criados em clipper... Porque nem as extensões são as normalmente utilizadas em dbase, ou qualquer um dos seus derivados (incluindo clipper)... Já o caso do Progress Database (e não só), é diferente, porque esse DBMS usa essas extensões...

Em que te baseias para teres essa opinião? Só a aplicação estar a correr em DOS?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Sim, fiquei com a ideia de que a coisa poderia ser dBase pela extensão testada e por ser do tempo do DOS.

As aplicações resistentes de DOS que vi eram precisamente aplicações feitas em Clipper com dBase.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Pois se ele não tivesse dito que já tinha testado (sem sucesso) com .dbf, também era esse o meu principal suspeito, mas as pistas que temos não parecem apontar para esse lado...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Pois.

A menos que haja alguma coisa no header dos ficheiros que indique o formato ou o fabricante, será muito difícil descobrir o que é por tentativa e erro.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Daí eu ter procurado por pistas baseadas na extensão... Apostando que o autor do software não as tinha modificado, mas que nós não conhecemos qual o SGDB, utilizado (o que é um facto de várias formas).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.