Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL (ActiveX)
PowerCOBOL (ActiveX) Versiones del IDE basadas en ActiveX
Noticias y Avisos
Ver Resultados de Encuesta: ¿Qué método de acceso a BBDD prefieres?
SQL Embebido 4 80,00%
DBAccess 0 0%
ADO 1 20,00%
Votantes: 5. Tú no puedes votar en esta encuesta

Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Información] Comenzar de nuevo con COBOL JOSE BRITO COBOL - General 7 3 de mayo de 2018 20:05
[Noticia] IBM DB2 Express-C - BBDD Gratuita Kuk IBM - DB2 2 13 de abril de 2017 13:37
Distribución de aplicación con BBDD Kuk Bases de datos 5 2 de abril de 2017 02:32
[Noticia] Velocidad y rendimiento: BBDD/Ficheros Indexados Kuk COBOL - General 6 5 de abril de 2016 11:29
Respuesta de la BBDD Kuk Oracle 0 27 de noviembre de 2015 14:09
Respuesta
 
Herramientas

  #1
Antiguo 5 de febrero de 2019, 17:08
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad47 años
Última Actividad18.02.2019 15:56
PROCEDURE DIVISION
PostsPosts: 170
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 50
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Question Comenzar con BBDD...

Hola Amigos:

Quiero comenzar con el uso de alguna BBDD (postgres seguramente), y quiero alguna recomendación de qué utilizar.
Estoy en la duda si encarar por el lado de Control DBAcces, Ado, o Sql enbebido o alguna otra cosa. Mi idea es ir generando tablas paralelas a mis archivos cobol, es decir, seguir grabando mis archivos como siempre, y a su vez ir metiendo los mismos datos en la BBDD, para ir haciendolo paulatinamente.

Saludos.

Fito...
Fito no ha iniciado sesión   Responder Con Cita
  #2
Antiguo 6 de febrero de 2019, 11:15
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad18.02.2019 18:45
PROCEDURE DIVISION
PostsPosts: 441
Ha dicho GraciasEnviado: 176
Ha recibido agradecimientosRecibido: 187
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 17
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

A ver yo he utilizado SQL Embebido, porque me parecía el más sencillo y controlable de las 3 opciones. Intenté con ADO, pero me parecía muy costoso de escribir el código, y DBAccess, ni lo intenté. Buscando documentación y ejemplos, al final me quedé con el embebido. Funciona perfectamente, es senciullo, rápido y todo lo que necesitas. Tiene sus pegas, (que con ADO creo que no existen), y es que hay algunas instrucciones que no las reconoce, como son CREATE, ALTER y algunas más, que no recuerdo ahora, por lo que las tablas, han de venir creadas y/o modificadas "de casa", la conexión a la BD, también hay que hacerla a través de un fichero de configuración y un ODBC, pero, si te acostumbras a solventar ésto desde fuera de tus programas. SQL Embebido, funciona perfectamente.

Un saludo.-
Josber no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Fito ( 6 de febrero de 2019)
  #3
Antiguo 6 de febrero de 2019, 15:05
IDENTIFICATION DIVISION
Fito
Novato Senior
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónCórdoba, Villa María
Edad47 años
Última Actividad18.02.2019 15:56
PROCEDURE DIVISION
PostsPosts: 170
Ha dicho GraciasEnviado: 66
Ha recibido agradecimientosRecibido: 50
ReputaciónReputación: 9
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola:

Gracias Josber por responder. No me preocupa "mantener" las tablas desde el Cobol, solamente quiero hacer ABM. Lo demás lo haría con la herramienta de la BBDD.

Bien, SQL Embebido 1, controles ADO y DBAcces 0.

Saludos.

Fito...
Fito no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 6 de febrero de 2019, 19:33
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad18.02.2019 19:44
PROCEDURE DIVISION
PostsPosts: 1.340
Ha dicho GraciasEnviado: 287
Ha recibido agradecimientosRecibido: 495
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

Fito, Josber, he añadido una encuesta


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 2
Fito ( 6 de febrero de 2019), Josber ( 6 de febrero de 2019)
  #5
Antiguo 7 de febrero de 2019, 15:36
IDENTIFICATION DIVISION
Lascu
Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de Lascu
DATA DIVISION
Forero desde (Registrado)noviembre 2015
Argentina
UbicaciónSanta Fe, Videla
Última Actividad14.02.2019 13:22
PROCEDURE DIVISION
PostsPosts: 14
Ha dicho GraciasEnviado: 16
Ha recibido agradecimientosRecibido: 5
ReputaciónReputación: 0
Lascu is on a distinguished road
Predeterminado

Hola Fito, me sumo a la respuesta de Josber. Es más sencillo de usar y mantener sql embebido que ADO, en mi opinión.
Te adjunto una rutina que uso para leer un registro de usuario.

Código COBOL:
  1. ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  
  5.      EXEC SQL BEGIN DECLARE SECTION END-EXEC.
  6.    
  7.  #INCLUDE "FD\BD-TABLAS.CPY".
  8.  
  9.  01 BDUSUARIOS.
  10.     02 BDIDUSR    PIC S9(06).
  11.     02 BDLOGIN    PIC X(20).
  12.     02 BDNOMBRE   PIC X(60).
  13.     02 BDTIPOUSR  PIC X(04).
  14.     02 BDCLAVE    PIC X(20).
  15.     02 BDCAMBIO   PIC X(08).
  16.     02 BDHOST     PIC X(80).
  17.     02 BDFOTOUSR  PIC X(80).
  18.     02 BDACCESO   PIC X(14).
  19.    
  20.  01 SQLFECHA            PIC X(08) GLOBAL.
  21.  01 SQLSTATE            PIC X(5) global.
  22.  01 SQLCODE             PIC S9(09) COMP-5 GLOBAL.
  23.  01 SQLMSG              PIC X(128) GLOBAL.
  24.  
  25.      EXEC SQL END DECLARE SECTION END-EXEC.
  26.  
  27.  01 DATOS-IMAGEN.
  28.     02 FILLER   PIC X(06) VALUE "FOTOS".
  29.     02 NOM-FOTO PIC X(15).
  30.  01 WK-COMBO.
  31.     02 WK-VALOR PIC X(04).
  32.     02 FILLER   PIC X(03) VALUE " - ".
  33.     02 WK-DESCR PIC X(40).
  34.    
  35.  LINKAGE SECTION.
  36.  01 LK-ID     PIC 9(04).
  37.  01 LK-NOMBRE PIC X(20).
  38.  PROCEDURE DIVISION USING LK-ID, LK-NOMBRE.
  39.      INITIALIZE BDUSUARIOS.
  40.      EXEC SQL CONNECT TO DEFAULT END-EXEC.    
  41.      EVALUATE TRUE
  42.         WHEN REG-EXISTE
  43.            MOVE LK-ID TO BDIDUSR
  44.            EXEC SQL SELECT * FROM usuarios WHERE iduser = :BDIDUSR
  45.                     INTO :BDIDUSR, :BDLOGIN, :BDNOMBRE, :BDTIPOUSR, :BDCLAVE, :BDCAMBIO, :BDACCESO
  46.            END-EXEC
  47.         WHEN REG-CAMBIO
  48.            MOVE LK-NOMBRE TO BDLOGIN
  49.            EXEC SQL SELECT * FROM usuarios WHERE iduser = :BDLOGIN
  50.                     INTO :BDIDUSR, :BDLOGIN, :BDNOMBRE, :BDTIPOUSR, :BDCLAVE, :BDCAMBIO, :BDACCESO
  51.            END-EXEC
  52.      END-EVALUATE.
  53.      IF SQLSTATE = "00000" THEN
  54.                               PERFORM DATOS-A-PANTALLA
  55.        ELSE
  56.           MOVE SQLSTATE TO WX-SQLSTATE-ERROR
  57.           MOVE SQLMSG   TO WX-SQLMSG-ERROR
  58.           INVOKE POW-SELF "CallForm" USING "INICIOERROR" "ERRORBD.DLL"
  59.      END-IF.
  60.      EXEC SQL DISCONNECT DEFAULT END-EXEC.
  61.      EXIT PROGRAM.
  62.      
  63.      
  64.  DATOS-A-PANTALLA.
  65.      MOVE BDIDUSR      TO "Caption" OF LBL-CODIGO.
  66.      MOVE BDLOGIN      TO "Text"    OF PIC-LOGIN.
  67.      MOVE BDNOMBRE     TO "Text"    OF PIC-NOMBRE.
  68.      MOVE BDCLAVE      TO "Text"    OF PIC-CLAVE.
  69. *     MOVE BDFECHA      TO "Caption" OF LBL-FECHA-ACCESO.
  70.      MOVE BDHOST       TO "Caption" OF LBL-ORDENADOR.
  71.      IF BDFOTOUSR NOT = SPACES THEN
  72.                                   MOVE BDFOTOUSR TO NOM-FOTO
  73.                                   MOVE DATOS-IMAGEN TO "ImageName" OF IMAGEN
  74.      END-IF.
  75.      IF BDTIPOUSR > SPACES THEN
  76.                               MOVE "TUSU"    TO BDTIPO
  77.                               MOVE BDTIPOUSR TO BDVALOR
  78.                               EXEC SQL
  79.                                  SELECT tipotbl, valortbl, descritbl FROM tablas
  80.                                  WHERE tipotbl = :BDTIPO AND valortbl = :BDVALOR INTO :BDTIPO, :BDVALOR, :BDDESCR
  81.                               END-EXEC
  82.                               MOVE BDVALOR TO WK-VALOR
  83.                               MOVE BDDESCR TO WK-DESCR
  84.                               MOVE WK-COMBO TO "Text" OF CBO-TIPO
  85.      END-IF.
  86.      IF REG-CAMBIO THEN
  87.                        MOVE POW-FALSE TO "Enabled" OF PIC-LOGIN
  88.                        MOVE POW-FALSE TO "Enabled" OF CBO-TIPO
  89.                        INVOKE PIC-NOMBRE "SetFocus"
  90.         ELSE
  91.            INVOKE PIC-LOGIN "SetFocus"
  92.       END-IF.

Saludos
Lascu no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Fito ( 8 de febrero de 2019)
  #6
Antiguo 8 de febrero de 2019, 12:08
IDENTIFICATION DIVISION
Nitzer
Guru de COBOL
ENVIRONMENT DIVISION
Avatar de Nitzer
DATA DIVISION
Forero desde (Registrado)noviembre 2015
España
UbicaciónAlmeria
Edad53 años
Última Actividad15.02.2019 10:35
PROCEDURE DIVISION
PostsPosts: 58
Ha dicho GraciasEnviado: 29
Ha recibido agradecimientosRecibido: 23
ReputaciónReputación: 6
Nitzer is on a distinguished road Nitzer is on a distinguished road Nitzer is on a distinguished road
Predeterminado

Perdonad que discrepe, pero no cambio el ADO por nada del mundo

Ha sido mi salvación para adaptarme a nuevos paradigmas. El único problema que no he sido capaz de solucionar es cuando se pierde la conexión a la base de datos (se haya caido el servicio) que no pasa jamás, pero alguna vez en la empresa se hace por motivos ... (que no vienen a cuento) y entonces saltan 10.000 errores )) , pero es la única pega y si todo va como debe de ir, jamás falla.

Ventajas, bajo mi punto de vista:
- No hay que definir nada en la working especificamente.
- Permite conectarse con ConnectionString, por lo que puedo cambiar de base de datos sin tocar código.
- da igual la complejidad de la select, con un string la construyes sin limitaciones.
- trabajar con el recordset generado es muy fácil y extraer la información igualmente.
- Un problema, NO PUEDEN VENIR CAMPOS NULL si los vas a almacenar en un numérico, se soluciona con un CASE (sqlserver) en la propia select.


Todo lo expuesto para utilizarlo con el control ADO que viene con el NetCobol.

Para algún caso específico también creo el objeto, por ejemplo INSERT MASIVOS o ejecución de algún procedimiento almacenado o función.

Como consejo final, la decisión que tomé de utilizar bbdd y solo dejar los indexados para ficheros temporales de trabajo, ha sido la mejor que he tomado en mucho tiempo.
Nitzer no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 2
Fito ( 8 de febrero de 2019), Kuk ( 8 de febrero de 2019)
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 20:10.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.