Página 1 de 2 1 2 ÚltimoÚltimo
Resultados 1 al 10 de 11

Tema: Error de sintaxis SQL

  1. #1
      Junior
    G

    Registrado
    abril de 2018
    Mensajes
    32
    Última visita
    11.04.2019

    Agradecimientos
     
    Recibidos
    4
    Enviados
    0

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

    Base de datos Error de sintaxis SQL

    hola gente, tengo microfocus acucobol 9.11 y dbmaker

    actualmente uso las tablas como si fueran archivos indexados, pero necesito acceder ahora
    usando desde el mismo cobol a tablas mediante consultas tipo SQL


    el tema es que cuando compilo me tira error de sintaxis

    COBOL Código:
    1.      EXEC SQL
    2.          SELECT au_lname INTO :lastname FROM authors
    3.           WHERE au_id = '124-59-3864'
    4.      END-EXEC

    pero se que la sintaxis esta bien, me parece que el problema es que no configure el compilador para ejecutar con SQL

    alguien sabe si estoy en lo correcto? y de ser asi como modificar el compilador?

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,287
    Última visita
    Hoy a las 21:23

    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

    @GabrielACE, no es END-EXEC sino END EXEC con espacio entre END y EXEC.

    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.

  3. #3
      Junior
    G

    Registrado
    abril de 2018
    Mensajes
    32
    Última visita
    11.04.2019

    Agradecimientos
     
    Recibidos
    4
    Enviados
    0

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

    Predeterminado

    Cita Iniciado por Kuk Ver Mensaje
    @GabrielACE, no es END-EXEC sino END EXEC con espacio entre END y EXEC.
    NOP

    tampoco funciono
    COBOL Código:
    1.  
    2.      159 00000A      DISPLAY "PRUEBA DE RUTINA PARA ALEATORIO"
    3.      160                     LINE 2 COL 1 ERASE
    4.      161                     "NUM MAXI: " LINE 5 COL 35.
    5.      162
    6.      163             EXEC SQL
    7. -->ERROR: Verb expected, EXEC found
    8.      164 000021            SELECT AT_NUCHASIS INTO :WS-NUCHASIS FROM autos
    9.      165                   WHERE AT_COAUTO= 123456;
    10.      166             END EXEC.
    11.      167

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,287
    Última visita
    Hoy a las 21:23

    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

    @GabrielACE, es que esto depende del dialecto. En Enterprise COBOL de IBM creo recordar que es como he dicho antes. Pero mirando la documentación de Micro Focus por ejemplo, es como lo habías hecho tú al principio, con guion.

    A ver, ¿puedes publicar el error que te daba exactamente al principio, con END-EXEC?

    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
    G

    Registrado
    abril de 2018
    Mensajes
    32
    Última visita
    11.04.2019

    Agradecimientos
     
    Recibidos
    4
    Enviados
    0

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

    Predeterminado

    Cita Iniciado por Kuk Ver Mensaje
    @GabrielACE, es que esto depende del dialecto. En Enterprise COBOL de IBM creo recordar que es como he dicho antes. Pero mirando la documentación de Micro Focus por ejemplo, es como lo habías hecho tú al principio, con guion.

    A ver, ¿puedes publicar el error que te daba exactamente al principio, con END-EXEC?
    daba el mismo error.

    estoy seguro de que tengo varios errores, el problema es que no tengo un ejemplo de microfocus con tablas SQL

    por ejemplo, se que tengo que definir en la working el diseño de la tabla para que la reconozca

    que en IBM se ponia
    COBOL Código:
    1.           EXEC SQL BEGIN DECLARE SECTION
    2.          
    3.           CAMBIO TABLE
    4.           (
    5.  
    6.             CAM_FECHA     DECIMAL(8 ,0) NOT NULL,          
    7.             CAM_CAMBIO    DECIMAL(5, 4) NOT NULL          
    8.          
    9.           )
    10.           END-EXEC.

    pero aqui me dice que es un error porque le falta el nivel 01

    estoy complado con este tema :-S

    0 Not allowed!

  6. #6
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,287
    Última visita
    Hoy a las 21:23

    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

    @GabrielACE, no, olvídate de IBM. No tienes que declarar la tabla en formato SQL. En esa sección tienes que declarar las variables Host que vas a usar en tus querys.

    ¿Has activado el precompilador de SQL ?

    Echa un vistazo a los ejemplos de SQL embebido que hay en el foro, te van a servir mucho.

    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.

  7. #7
      Acabo de llegar...
    X

    Registrado
    enero de 2016
    Ubicación
    Valencia
    Mensajes
    24
    Última visita
    10.09.2022

    Agradecimientos
     
    Recibidos
    3
    Enviados
    13

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

    Predeterminado

    Hola GabrielACE
    Yo trabajo con PowerCobol, pero creo que la sintaxis es la misma.
    En la WORKING-STORAGE debes definir las variables que vas a utilizar para "recoger" los datos de la Base de Datos, Por ejemplo:
    COBOL Código:
    1. * Declarar las variables de las Tablas
    2.      EXEC SQL BEGIN DECLARE SECTION END-EXEC.
    3.          01 TablaClientes GLOBAL.
    4.               02 wCodigoCliente PIC S9(9) COMP-5.
    5.               02 wNombreCliente PIC X(40).
    6.      EXEC SQL END DECLARE SECTION END-EXEC.
    En la PROCEDURE DIVISION.
    COBOL Código:
    1.      MOVE 1 TO wCodigoCliente
    2.      EXEC SQL
    3.              SELECT NombreCliente
    4.                 INTO :wNombreCliente
    5.                FROM TablaClientes
    6.               WHERE CodigoCliente = :wCodigoCliente
    7.      END-EXEC

    Espero que te sirva

    0 Not allowed!

  8. #8
      Junior
    G

    Registrado
    abril de 2018
    Mensajes
    32
    Última visita
    11.04.2019

    Agradecimientos
     
    Recibidos
    4
    Enviados
    0

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

    Predeterminado

    Cita Iniciado por Kuk Ver Mensaje
    @GabrielACE, no, olvídate de IBM. No tienes que declarar la tabla en formato SQL. En esa sección tienes que declarar las variables Host que vas a usar en tus querys.

    ¿Has activado el precompilador de SQL ?

    Echa un vistazo a los ejemplos de SQL embebido que hay en el foro, te van a servir mucho.
    eso de activar el precompilador se que es una de las muchas cosas que me faltan

    pero no tengo ni idea como activarlo, sabes como se hacer?

    0 Not allowed!

  9. #9
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,287
    Última visita
    Hoy a las 21:23

    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

    @GabrielACE, si no activas el precompilador, que convierte la sintaxis SQL en CALL-s de Cobol, el programa te va a dar errores de sintaxis.

    Habrá que mirar las propiedades del proyecto. En Micro Focus Visual COBOL es así:
    Imagem Anexada Imagem Anexada

    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.

  10. #10
      Junior
    G

    Registrado
    abril de 2018
    Mensajes
    32
    Última visita
    11.04.2019

    Agradecimientos
     
    Recibidos
    4
    Enviados
    0

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

    Predeterminado

    Gracias por la data, el problema es que es la version 9.11, asi que no tengo ninguna ventaja visual para esas cosas

    0 Not allowed!

Página 1 de 2 1 2 ÚltimoÚltimo

Información de Tema

Usuarios Viendo este Tema

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

Temas Similares

  1. [Sintaxis] Error sintaxis ADODB Mariadb variables host
    Por dmosca en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 17
    Último Mensaje: 29.07.2017, 00:19
  2. Resalto de sintaxis
    Por Kuk en el foro Novedades
    Respuestas: 4
    Último Mensaje: 14.12.2016, 03:06
  3. [Información] Error SQL "02000 - Data not found"
    Por Josber en el foro MySQL
    Respuestas: 13
    Último Mensaje: 20.05.2015, 20:57

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
  •