Ver Mensaje Individual
  #24
Antiguo 28 de septiembre de 2024, 19:33
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243
Tableta mysql mariadb EXTMYSQL ocx
2 Inactivo Inactivo

Hola @Josber

Me ha surgido la necesidad ahora de tener que conectarme a un servidor apache , con la version Mysql MariaDB
estuve probando Ado de Micro (via odbc) , probe con la EXTMYSQL (directo usando como conector libmysql.dll) que paso @Joseg, con resultados positivos en ambos casos.

Y tambien probe con la ocx que compartio @Nitzer , con buenos resultados tambien te pongo dos ejemplos todo via odbc
Version PowerCobol 5.0

*> Lectura de Cantidad de Registros en la tabla


Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01 RETORNO        PIC S9(9) COMP-5.
  3.  01 sql-comando    pic x(8192).
  4.  01 BD-EMPRESA.
  5.     02 BDIDUSR    PIC 9(09).
  6.     02 BDNOMBRE   PIC X(55).
  7.     02 BDCLAVE    PIC X(255).
  8.  01 Cantidad-Registros PIC S9(9) COMP-5.
  9.  PROCEDURE       DIVISION.
  10.  
  11.      move spaces to sql-comando.
  12.      STRING 'DRIVER={MariaDB ODBC 3.2 Driver};'
  13.             'SERVER=xxxx.com.ar;'
  14.             'Port=3306;'
  15.             'DATABASE=xxxxxxxxxxxxxxx;'
  16.             'UID=xxxxx;'
  17.             'PWD=xxxxxxxxxx;'
  18.              DELIMITED BY SIZE INTO sql-comando
  19.      END-STRING.
  20.     *> conecta
  21.      MOVE sql-comando TO "ConnectionString" OF SqlServer1.    
  22.      invoke SqlServer1 "Connect" returning RETORNO.
  23.      display "    RETORNO db:" , RETORNO.
  24.  
  25.      *> select
  26.      move spaces to sql-comando.
  27.      move "select count(id_empresa) from empresas" to sql-comando.
  28.      INVOKE SqlServer1 "OpenQuery" USING sql-comando RETURNING RETORNO
  29.      display "    RETORNO Execute:" , RETORNO.
  30.    
  31.      
  32.      *> record
  33.      INVOKE SqlServer1 "GETVALUE" USING 1 RETURNING Cantidad-Registros
  34.      DISPLAY "CANTIDAD DE REGISTROS:" , Cantidad-Registros
  35.     *> desconecto
  36.      INVOKE SqlServer1 "Disconnect" RETURNING RETORNO.

*> Select simple

Código COBOL:
  1. WORKING-STORAGE SECTION.
  2.  01 RETORNO        PIC S9(9) COMP-5.
  3.  01 sql-comando    pic x(8192).
  4.  01 BD-EMPRESA.
  5.     02 BDIDUSR    PIC 9(09).
  6.     02 BDNOMBRE   PIC X(55).
  7.     02 BDCLAVE    PIC X(255).
  8.  01 Cantidad-Registros PIC S9(9) COMP-5.
  9.  PROCEDURE       DIVISION.
  10.  
  11.      move spaces to sql-comando.
  12.      STRING 'DRIVER={MariaDB ODBC 3.2 Driver};'
  13.             'SERVER=xxxx.com.ar;'
  14.             'Port=3306;'
  15.             'DATABASE=xxxxxxxxxxxxxxx;'
  16.             'UID=xxxxx;'
  17.             'PWD=xxxxxxxxxx;'
  18.              DELIMITED BY SIZE INTO sql-comando
  19.      END-STRING.
  20.     *> conecta
  21.      MOVE sql-comando TO "ConnectionString" OF SqlServer1.    
  22.      invoke SqlServer1 "Connect" returning RETORNO.
  23.      display "    RETORNO db:" , RETORNO.
  24.  
  25.      *> select
  26.      move spaces to sql-comando.
  27.      move "select Id_empresa , Nombre_empresa , Password_empresa  from empresas" to sql-comando.
  28.      INVOKE SqlServer1 "OpenQuery" USING sql-comando RETURNING RETORNO
  29.      display "    RETORNO Execute:" , RETORNO. *> si es distinto de zeros o -1 error en la select
  30.     *> loop record    
  31.      PERFORM WITH NO LIMIT
  32.  
  33.                  INVOKE SqlServer1 "NEXT" RETURNING RETORNO
  34.                  IF ISEOF OF SqlServer1 = 1 EXIT PERFORM END-IF
  35.      INVOKE SqlServer1 "GETVALUE" USING 1 RETURNING BDIDUSR
  36.      DISPLAY "EMPRESA ID:" , BDIDUSR
  37.      INVOKE SqlServer1 "GETVALUE" USING 2 RETURNING BDNOMBRE
  38.      DISPLAY "NOMBRE:" , BDNOMBRE
  39.      INVOKE SqlServer1 "GETVALUE" USING 3 RETURNING BDCLAVE
  40.      DISPLAY "CLAVE:" , BDCLAVE
  41.      
  42.      END-PERFORM.
  43.    
  44.      
  45.      *> desconecto
  46.      INVOKE SqlServer1 "Disconnect" RETURNING RETORNO.





Saludos ..
Voy a seguir investigando y probando las tres opciones.
fastpho is offline   Responder Con Cita