Ver la Versión Completa : [Duda] Archivos indexados - marca de corrupto
Armando
5 de abril de 2025, 17:32
Buenas tardes, hace tiempo que no escribo pero los sigo.
Me ha surgido un problema con un archivo indexado (rm o powercobol), que tiene error 98, pero por su tamaño (casi 1.4 gb y 11 millones de registros), cuando intento usar los recuperadores tanto de fujitsu como de rmcobol, no terminan bien dando error 24,02 de falta de espacio del archivo.
Como solo necesito extraer una parte de los registros, los más nuevos, la pregunta es si alguien conoce en que byte está la marca de si está o no corrupto.
Hay una publicación en el foro que encontré en su momento, para saber la cantidad de registros, pero no recuerdo que haya sobre la marca de corrupto,
muchas gracias,
Armando
JCantero
6 de abril de 2025, 15:32
@Armando, si el fichero es de RM/Cobol y con recover1 no te lo reconstruye, puedes intentarlo con recover2.
Es un .cob y debes de utilizarlo asi : runcobol recover2.cob nosub
Esta utilidad te lo deja en un fichero secuencial que luego debes de leer con un programa qu tienes que hacer y ya filtras por fecha y lo vas grabando.
Si vas a utilizar este metodo me lo dices. Creo recordar que para leerlo tienes que poner una FD que es --> 4 bytes + tuFD + 4 bytes
Post añadido a las 15:32. Post anterior a las 15:24
Mira el mensaje #8 de este hilo Visor archivos RM/COBOL modo texto - Cobol Foro (https://www.cobolforo.es/showthread.php?t=645&highlight=mira) que explico como utilizarlo.
Si necesitas ayuda me lo dices
Armando
8 de abril de 2025, 01:24
@JCantero,
Gracias por la respuesta, pero también con recover2 cancela.
El tema es que queda un tamaño tan grande, que el secuencial crece a un punto, que también da error, y se trunca.
Yo le encontré una vuelta, editando el indexado con notepad++, y borrando algunas líneas al final.
Con eso el recover1 funcionó, pero perdí algunos registros, pero que no era indispensables.
Igual si alguien sabe como desmarcar el archivo con error 98, sirve para otras situaciones (la mayoría de las veces es solo que no se cerró correctamente, por un corte o pérdida de red).
gracias
Armando
Kuk
8 de abril de 2025, 21:38
@Armando, si lo abres por código como INPUT, te lo lee?
Si es así, puedes crear un secuencial por mes o año por ejemplo.
Recuerdo que un par de veces cundo tenía lectura en un bucle infinito el fichero daba error, pero se me abría como INPUT. No es lo mismo pero nunca se sabe.
Gusaiello
10 de abril de 2025, 14:34
@Armando, Una vez tuve un problema similar, solo que en el medio del archivo había basura, no era solo la marca de corrupto, sino que estaba realmente corrupto.
Hice lo que te está proponiendo @Kuk.
Comencé a leer de adelante hacia atrás pasando todo a un secuencial, y luego de atrás para adelante agregando al mismo secuencial.
Se esa forma logré recuperar la mayor parte del archivo.
Armando
15 de abril de 2025, 19:10
Hola, gracias a los que contestaron,
Antes que nada, lo pude solucionar y que el cliente continuara trabajando, con la pérdida de algunos registros.
Al leerlo, como el archivo estaba marcado como corrupto, daba error 90.
Si quería usar el recover1 de RM, o el utilitario del Fujitsu, por la gran cantidad de registros, y el tamaño del archivo daba los errores que les mostré al principio.
Si quería extraerlo con Recover2.cob de RM, daba error al grabar el secuencial, porque superaba el tamaño máximo de archivo.
Por eso edité el Indexado, y le borré algunas líneas del final y con eso pude usar el recover1.exe de RM y quedó un archivo funcional.
Mi pregunta apuntaba a saber en que byte, al comienzo del archivo, indica si estaba o no corrupto, tenía la idea de que en el foro actual o en el anterior alguien lo había comentado.
Pero gracias a todos, y de alguna forma si alguien tiene un problema similar, le pueda servir,
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.