Descobrir Formato da Base Dados - Bases de Dados - Portugal-a-Programar
Descobrir Formato da Base Dados
By SLIFE, March 4, 2010 in Bases de Dados
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??
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?
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.
S /PAINHOS 26 (@333333(@ áz®GÁ<@=
×£pý3@¸…ëQÜjÀú~j¼tQ¤À 26464280 94281 PAIO LOMBO ONNO P PAIOS /PAINHOS 26 (@
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.
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.
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?
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...
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.
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?
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.
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...
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.
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).