Ver Resultados de Encuesta: ¿Qué método de acceso a BBDD prefieres?

Votantes
6. No puedes votar en esta encuesta
  • SQL Embebido

    4 66.67%
  • DBAccess

    0 0%
  • ADO

    2 33.33%
Resultados 1 al 6 de 6

Tema: Comenzar con BBDD...

  1. #1
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Ubicación
    Córdoba, Villa María
    Edad
    53
    Mensajes
    410
    Última visita
    24.04.2024

    Agradecimientos
     
    Recibidos
    208
    Enviados
    225

    Citaciones y menciones
     
    Mentioned
    53 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Poder de Reputación
    26
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    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...

    0 Not allowed!

  2. #2
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    796
    Última visita
    Ayer a las 12:00

    Agradecimientos
     
    Recibidos
    440
    Enviados
    362

    Citaciones y menciones
     
    Mentioned
    77 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    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.-

    0 Not allowed!

  3. #3
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Ubicación
    Córdoba, Villa María
    Edad
    53
    Mensajes
    410
    Última visita
    24.04.2024

    Agradecimientos
     
    Recibidos
    208
    Enviados
    225

    Citaciones y menciones
     
    Mentioned
    53 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Poder de Reputación
    26
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    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...

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Ayer a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    102 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Fito, @Josber, he añadido una encuesta

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  5. #5
      Junior
    L

    Registrado
    noviembre de 2015
    Ubicación
    Videla, Santa Fe
    Mensajes
    33
    Última visita
    18.03.2024

    Agradecimientos
     
    Recibidos
    18
    Enviados
    53

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    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.

    COBOL Código:
    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

    0 Not allowed!

  6. #6
      Guru de COBOL
    Avatar de Nitzer

    Registrado
    noviembre de 2015
    Ubicación
    Almeria
    Edad
    58
    Mensajes
    203
    Última visita
    15.03.2024

    Agradecimientos
     
    Recibidos
    161
    Enviados
    73

    Citaciones y menciones
     
    Mentioned
    52 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    7 Post(s)
    Poder de Reputación
    20
    Activista del Foro / Point Value: 0 Guru de los Gurus / Point Value: 0

    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.

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Información] Comenzar de nuevo con COBOL
    Por JOSE BRITO en el foro COBOL - General
    Respuestas: 7
    Último Mensaje: 03.05.2018, 20:05
  2. [Noticia] IBM DB2 Express-C - BBDD Gratuita
    Por Kuk en el foro IBM - DB2
    Respuestas: 2
    Último Mensaje: 13.04.2017, 13:37
  3. Distribución de aplicación con BBDD
    Por Kuk en el foro Bases de datos
    Respuestas: 5
    Último Mensaje: 02.04.2017, 02:32
  4. [Noticia] Velocidad y rendimiento: BBDD/Ficheros Indexados
    Por Kuk en el foro COBOL - General
    Respuestas: 6
    Último Mensaje: 05.04.2016, 11:29
  5. Respuesta de la BBDD
    Por Kuk en el foro Oracle
    Respuestas: 0
    Último Mensaje: 27.11.2015, 14:09

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •