¿Cómo puedo exportar datos en una aplicación DOS heredada cuando no hay una opción de exportación disponible?

StackOverflow https://stackoverflow.com/questions/420762

  •  05-07-2019
  •  | 
  •  

Pregunta

Mi cliente nos ha encomendado la tarea de exportar datos de un sistema DOS heredado, utilizando una base de datos RAIMA , para que pueda importarse a un nuevo sistema que estamos escribiendo para ellos. Parece que los datos se almacenan en un formato de archivo plano, aunque cuando abrimos los archivos, la mayor parte del texto es un galimatías.

Vemos Raima Database Manager en la parte superior de los archivos que abrimos ... Intentamos buscar en Google ese término y parece que es un formato de base de datos antiguo. No hace falta decir que el proveedor que escribió el software ya no lo admite. ¿Hay alguna otra forma de exportar estos datos?

¿Hay alguna forma de raspar automáticamente los datos de la pantalla?

Nota

Es un sistema de facturación simple, toda la información está en una sola pantalla en la aplicación.

¿Fue útil?

Solución

para Raima Data Manager Versión 3.21A Este artículo indica que la aplicación probablemente se escribió en C y usó el lenguaje de definición de datos Raima para estructurar los archivos; busque en los archivos algo similar, verifique el .dbd y .tbl; puede que tenga que verlos con algo como VI que tiene un modo hexadecimal. Es muy probable que las estructuras de datos estén integradas en uno de los archivos.

Edición :

aquí hay algunos enlaces que pueden llevarlo a más información

http://www.raima.com/

http://www.raima.com/database_technology/rdm.php3 http://www.raima.com/database/download.php3

http: //database.ittoolbox .com / topics / t.asp? t = 411 & amp; p = 415 & amp; h1 = 411 & amp; h2 = 412 & amp; h3 = 415

http://www.faqs.org/faqs/databases/free- bases de datos /

http://www.ittia.com/products/ittia_odbc.html

http://www.mactech.com /articles/mactech/Vol.07/07.02/db_VistaIII/index.html

Otros consejos

Raima todavía parece estar en marcha, podría valer la pena enviarles un correo o ver si Uno de sus nuevos productos es compatible con versiones anteriores. Si no se trata de ingeniería inversa, la aplicación puede volcar los datos de ella o averiguar el formato del archivo.

sería útil saber qué versión de Raima Database Manager se utilizó; ¿ db_Vista o RDM o Velocis o RDM Embedded ? La era aproximada en que se escribió la aplicación DOS ayudaría a reducir la posible versión.

RDM Embedded fue lanzado como código abierto por Centura alrededor de 2000 y luego cambió su nombre a db.linux. Es posible que encuentre información en el código fuente que arroje luz sobre cómo estructuraron los archivos.

En cualquier caso, db_Vista nació en 1982, por lo que es probable que sea un sistema de indexación / archivo B-Tree.

Como segunda opción (o tal vez el último recurso), si Raima no puede ayudarlo, puede usar una herramienta de automatización para eliminar la información de la pantalla y analizarla. Dado que es una aplicación de DOS, si se puede ejecutar en una ventana de consola de Windows, usaría una herramienta como Eggplant , TestComplete , o HighTest . Todas estas herramientas están diseñadas principalmente para la automatización de pruebas a través de la GUI o la IU, pero son bastante buenas para este tipo de trabajo. Creo que Hightest solía tener una versión de DOS en el día.

La otra opción podría ser usar cualquier mecanismo de informe que tenga la aplicación DOS para imprimir todos los datos de la aplicación en un archivo de texto (a través de la redirección de prn:) y luego analizarlo desde el formato de texto sin formato; sería una gran cantidad de trabajo (aunque regex puede analizar rápidamente la basura superflua) pero lo he hecho.

¿La aplicación DOS se ejecutará en una ventana de comandos en Windows XP? Si es así, es posible que pueda cortar y pegar los datos en un editor de texto o en una hoja de cálculo.

Se me ocurre otra idea. Puede usar Java Robot o incluso el simple código Win API para enviar pulsaciones de teclas a la ventana de comandos para recorrer los registros. Esa es la mitad de tu batalla. Parece que la ventana de comandos tiene una opción para "Seleccionar todo", combinar eso con "Copiar" comando y debería estar configurado.

Probablemente también debería pasar veinte minutos descartando la posibilidad de que el formato de la base de datos no sea algo común para esa época (db3, Paradox, Filemaker o similares), pero con extensiones de archivo renombradas. Intente abrir en Excel o similar especificando el formato (agregue los filtros adicionales a Excel primero si los necesita). El Escritorio de la base de datos de Borland también solía ser bueno para este tipo de examen.

Es una posibilidad remota, pero me ha valido la pena en varias ocasiones cuando algún formato de archivo 'oscuro' resultó ser una versión ofuscada de algo mucho más común (db3 en particular). Fuera de la era de DOS, también he encontrado archivos de acceso ofuscados que surgen de vez en cuando.

Raima (al menos las versiones que uso) viene con una herramienta llamada datdump que escribe los archivos de datos en formato legible para humanos. También hay una herramienta llamada dbexp que puede generar archivos CSV desde una base de datos Raima.

Apuesto a que la buena gente de Raima podría ayudarte. Sé que todavía están por aquí. Veo que su sitio web incluso publica el formato de archivo de sus archivos de datos en su área de Soporte. Esto podría cambiar de una versión a otra de Raima, pero debería darle una buena idea sobre cómo comenzar a escribir su propio código de extracción.

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