Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Pasar Cobol a MySQL

Estas en el tema de Pasar Cobol a MySQL en el foro de Mysql en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 09/07/2008, 14:19
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
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!!!.
  #2 (permalink)  
Antiguo 09/07/2008, 19:07
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
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
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 10/07/2008, 16:09
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
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 ....
  #4 (permalink)  
Antiguo 11/07/2008, 09:20
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
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 tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




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