Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Pasar Cobol a MySQL (http://www.forosdelweb.com/f86/pasar-cobol-mysql-604374/)

vicRomeroF 09/07/2008 14:19

Pasar Cobol a MySQL
 
Hola que tal... mi problema es que tengo un proyecto de migrar una base datos hecha en cobol con archivos .DAT y .INX a MySQL, pero ¿Cómo le puedo hacer?.
He intentado pasar los archivos .DAT a un tipo CSV u otro que me permita leerlos desde mysql, pero no lo he podido hacer.
Si alguien conoce algun programa que pueda transformar los archivos o simplemente abrirlos con algun formato de texto plano me sería de graaaan utilidad.


Gracias a todos!!!.

BrujoNic 09/07/2008 19:07

Respuesta: Pasar Cobol a MySQL
 
Tenes un gran problema, ya que en cobol, se pueden crear tipos de archivos secuenciales o indexados.

Ahora, cobol es un lenguaje de programación, o sea, nada que ver con compararlo a una Base de Datos. La estructura de archivos que utiliza es jerárquica, en otras palabras, NO es una Base de Datos Relacional.

Aclarado esto, te digo que la forma más sencilla, fácil y funcional al 100%, es crearte en tu código un campo PIC X (LARGO) y lo redefines en los campos que necesites convertir. Por cada campo, te recomiendo meter el caracter TAB. La salida de esa línea, va a ser a otro archivo y de esa forma tendrías todos tus datos para incluirlos en cualquier tabla de MySQL que tenga la misma estructura que la del archivo creado en COBOL.

Luego, solo lee lo siguiente para agregarlos a tu tabla:
13.2.5. Sintaxis de LOAD DATA INFILE

vicRomeroF 10/07/2008 16:09

Respuesta: Pasar Cobol a MySQL
 
Gracias por el comentario, si lo único que sé de cobol es que no es una base de datos, pero sirve perfecto para guardar y administrar una gran cantidad de datos, por eso es que así la usabamos, ahora lo que quieren es pasar estos datos a una base en mysql.

Entonces aclarando que no sé nada de cobol, como le puedo hacer para crear el código que me dices.... si entiendo bien lo que necesito es crear en cobol un archivo de salida nuevo que contenga los datos pero ya con el formato para que ese archivo lo pueda llamar de mysql para llenar mis tablas no??
Suena bien.
Investigaré como hacer eso....


Gracias ....

BrujoNic 11/07/2008 09:20

Respuesta: Pasar Cobol a MySQL
 
OJO, cuidado con una mala interpretación... Cobol es una excelente herramienta y si te pones a buscar código sobre el mismo, te vas a sorprender. Maneja muy bien sus archivos secuenciales y relativos.

Lo que quería que comprendieras, es que una cosa es COBOL (lenguaje de programación), otra los tipos de archivos que maneja y luego, lo que es una BD Relacional.

Si no tenes conocimiento de COBOL y lo utilizan en donde laboras, quiere decir que hay gente que desarrolla en COBOL, o sea, vos le podes pedir los requerimientos de como queres los datos y ellos deben dartelos.

Lo que debes pedirles, es la estructura de cada archivo y los archivos con la información que contienen en el formato que te trate de explicar.

No te pongas a hacerlo vos si existen personas ahí que te lo puedan brindar.

Un pequeño ejemplo es esto.

COBOL.
Código:

FD ARCH-VENTAS
    LABEL RECORDS ARE OMITTED
    DATA RECORD IS REG-VENTAS.

01 REG-VENTAS.
    02 NUM-PRODUCTO          PIC 999.
    02 CANTIDAD-VENTAS      PIC 9(4)V99.
    02 FILLER                          PIC X(71).

FD ARCH-INFORME
    LABEL RECORDS ARE OMITTED
    DATA RECORD IS REG-INFORME.

01 REG-INFORME {Generar archivo plano para exportar a tabla MySQL}
    02 INF-PRODUCTO            PIC 999.
    02 TAB1                            PIC X. {Aquí va el código del TAB o cualquier delimitador que uses}
    02 INF-VENTAS                PIC 9(4)V99.
    02 TAB2                            PIC X.
    02 INF-FILLER                  PIC X(71).

Con eso, le dices al programador de COBOL que te genere el archivo llamado informe.

Luego en MySQL, creas una tabla que contenga esos campos.
Código PHP:

CREATE TABLE venta
id_producto INT(3),
venta REAL,
relleno VARCHAR(71); 

Luego utilizas el proceso de carga a como te lo dejé en el enlace.

Nota: La explicación del COBOL, es simplemente un ejemplo. Si no sabes nada y necesitas algún manual, hay muchos en internet.

Eso es lo más que podría ayudarte ya que no se permite código de programación en esta sección, solo sentencias SQL. En tu caso, hice una pequeña excepción, simplemente porque no es muy común tu consulta, pero si muy sencillo de solucionar.


La zona horaria es GMT -6. Ahora son las 05:14.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.