Pregunta

Mañana todo,

He ido y le dije a un cliente que pudiera migrar algunos de sus datos antiguos de un sistema basado en DOS en el nuevo sistema que he desarrollado para ellos. Sin embargo he dicho que, sin tener que mirar a los archivos que almacenan los datos en el sistema antiguo - Me imaginé un google rápida resolvería todo el problema para mí ... Yo estaba mal

!

De todos modos, este programa tiene una carpeta con cientos ... bueno 800 archivos con todo tipo de extensiones de archivo, .ave, bak, .brw, .dat, .001, .002 ...., 0.007, .dbf, .dbe y .Su.

.BAK obviamente no es un archivo de copia de seguridad de SQL.

¿Alguien tiene alguna experiencia en programación utilizando cualquiera de los tipos de archivos que pueden ser capaz de apuntar en la dirección de alguna manera de leer y extraer los datos?

No puedo mencionar el nombre del programa por la razón de que no creo que el desarrollador original permitirá que este ...

Gracias.

¿Fue útil?

Solución

Estoy dispuesto a apostar que el archivo .dbf está en formato DBase , que es realmente sencillo. El contenido de esa podrían proporcionar pistas sobre el resto de ellos.

Otros consejos

la utilidad de UNIX 'archivo' se puede utilizar para reconocer muchos tipos de archivos por su 'número mágico'. Se examina el contenido del archivo y lo compara con miles de formatos conocidos. Si los archivos están en cualquier tipo de formato común, esto probablemente le puede ahorrar una buena cantidad de trabajo.

Si no están en un formato común, puede enviarle persiguiendo pistas falsas. Tome sus sugerencias como sólo eso, sugerencias.

En complemento a los sitios sugeridos por Greg y Dmitriy , también existe el repositorio de archivos formatos en http://www.wotsit.org ( "¿Cuál es su formato?").

Si eso no ayuda, un buen editor hexadecimal (con pantalla de descarga) es su amigo ... Siempre me ha parecido sorprendente lo fácil que puede ser para leer y reconocer muchos formatos de archivo.

Podría ser cualquier cosa. Mejor de los casos es abrir con un editor hexadecimal , y ver lo que se puede ver

La mayoría de los sistemas más antiguos utilizan un ISAM básica que tenía un archivo por cada tabla que contiene un conjunto de registros de datos de longitud fija. Los otros archivos serían probablemente los índices

Como sólo necesita los datos, no el índice, sólo tiene que buscar los archivos con la repetición de patrones de datos (que a menudo se ve como patrones bastante sobre la pantalla del editor hexadecimal)

Cuando encuentre el archivo con los datos, trata de localizar un registro conocimientos, por ejemplo, "Sr. Smith" y ver si se puede trabajar en los otros campos. Los enteros son a menudo byte a byte, las fechas son a menudo codificados y días a partir de una fecha de inicio conocido, el dinero podría estar en BCD

Si usted ve un patrón fuerte, lo más probable cada registro tiene una longitud fija. Es probable que haya un bloque de cabecera en el archivo decir 128 o 256 bytes, y luego los registros de longitud fija

Muchos sistema antiguo, donde escrito en COBOL. Hay un montón de información sobre los formatos netas en Cobol re, y algunas empresas incluso vender los conductores de ODBC COBOL!

Creo que Greg tiene razón sobre el archivo .dbf. Usted debe tratar de encontrar alguna información sobre otros formatos de archivo utilizando sitios como http://filext.com y http://dotwhat.net . El archivo .bak es por lo general una copia de otro archivo con el mismo nombre, pero otra extensión. Por ejemplo, puede haber database.dbf archivo y database.bak archivo con copia de seguridad de la misma. Usted debe preguntar (si es posible) para cualquier código de datos y / o documentación / fuente de aplicación que utiliza que los archivos de su cliente.

En los días del DOS, los programadores utilizan para compensar sus propias extensiones de archivos más o menos a su antojo. El DBF bien podría ser un archivo de dBASE que es bastante fácil de leer, y el .BAK es probablemente una copia de seguridad de uno de los otros archivos importantes, o simplemente una copia de seguridad dejado por un editor de texto.

En los archivos restantes, lo primero que quiero hacer es comprobar si están en un formato ASCII legible mediante su apertura en un editor de texto.

Si esto no le da un buen resultado, tratar de abrirlos en un editor binario que muestra lado a lado y hexadecimal ASCII con caracteres de control blanqueó a cabo. Buscar patrones repetidos que podrían corresponder a grabar campos. Por ejemplo, dicen que el HIS era algo así como un archivo de pedidos histrory, puede contener códigos o nombres de productos embebidos. Si este es el caso, contar el número de bytes entre dichos campos. Si se trata de un número regular, es probable que tenga un archivo binario plana de registros. Este es el más decodificado por abrir el archivo en la aplicación, en busca de valores en un registro dado, y la búsqueda de los valores correspondientes en el archivo binario. Consume tiempo, y un dolor en el culo, pero lo suficientemente viable una vez que el cuelgue de ella.

Happy Hacking!

DBF es una base de datos dBASE o FoxPro temprana.

DAT fue utilizado por BTrieve y IIRC paradoja para DOS.

Los archivos .dbe y .00x son probablemente los archivos temporales o índices relacionados con los archivos DAT.

DBF es fácil. Se abrirán con MS Access o Excel (versiones anteriores a 2007 de Office, de todos modos), o con ADO u ODBC.

Si los archivos DAT son de hecho BTrieve, estás en un mundo de dolor. Son un desastre, incluso si usted puede conseguir sus manos en la versión correcta del diccionario de datos y una copia de la estructura de Btrieve. (He estado allí, hecho eso, llevaba a cabo la camiseta antes de que me hace.)

Como otros han sugerido, recomiendo un editor hexadecimal si no se puede averiguar lo que esos archivos son DBF y que es probablemente Dbase.

BAK parece ser un archivo de copia de seguridad. Estoy pensando que * 0,001 *, 0,002, etc. podría ser parte de la copia de seguridad. ¿Son todas del mismo tamaño? Tal vez la copia de seguridad se rompió en pedazos más pequeños para que pudiera adaptarse a un medio extraíble?

Por último, tomar esto como una lección de vida. Antes de enviar esa declaración de trabajo más, si el cliente pide que le permite importar datos del Sistema de A a B Sistema, siempre pregunte por el esquema de ejemplo y datos de ejemplo y archivos de ejemplo. Muchas veces las cosas que parecen sencillo entregar siendo pesadillas.

Buena suerte!

Asegúrese de utilizar la fecha de modificación de los archivos como pistas, si el .001, .002, etc todos tienen marcas de tiempo similares, tal vez junto con el .BAK, podrían ser parte de la copia de seguridad. También puede haber alguna costra de edad en el directorio se puede (algo con seguridad) ignorar. Buscar archivos .BAT y tratar de diseccionar ellos también.

Un consejo, si los archivos .dbf son dBase, FoxPro, o uno de los otros productos que utilizan ese formato. Entonces usted puede ser capaz de leerlos mediante ODBC. Mi sistema aún tiene el controlador ODBC para .dbf (Vista, con VS 2008 - cómo llegó hasta allí tendría que cazar, pero supongo que era MDAC Microsoft Data Access que puso que hay). Por lo tanto, puede que no tenga un "mundo de descosido que hacer", si el controlador ODBC leerá los archivos .dbf.

Me parece recordar (con un poco de confianza de más de 20 años atrás DBase III retoques) que utiliza DBase 0.001, 0.002, ... archivo para los campos memo (texto grande).

Buena suerte tratando de salvar los datos.

El formato DBF es bastante común.

Los otros archivos son desconcertantes. Supongo que, o bien se trata con viejos archivos de Btrieve (malo), o (esperemos) con los resultados de algún esquema de copia de seguridad mal concebida en la que alguien respaldó su base de datos en el mismo directorio en lugar de en el disco duro en el que Si podía pasar por alto estos.

Es ahora parte de generalizado, pero he usado, hace años, los datos Junction para migrar datos de una gran cantidad de tipos de archivos a otros. Echar un vistazo, a menos que desee escribir un parser.

.dat también pueden ser viejos Clarion 2.1 archivos ... funciona sobre una base ISAM también, con los archivos de clave / index

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top