Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
SLIFE

Descobrir Formato da Base Dados

Recommended Posts

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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.