Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Sql Embebido (https://www.cobolforo.es/showthread.php?t=332)

Josber 29 de febrero de 2016 11:04

A ver yo la creación y modificación de tablas la hago a través del gestor de MySql, nunca lo he probado a través de PWC, pero por lo que he estado leyendo en otros sitios, no se puede, según parece, la única manera de hacerlo, sería atraves de los controles ADO, pero no lo he hecho nunca y no tengo ni idea de como funcionan. El resto de instrucciones que he puesto, si están probadas por mi y funcionan perfectamente.

Un saludo.-

Rapinto 1 de marzo de 2016 00:59

Hrmcobol,

Fiz há algum tempo atras um software para transferir ficheiros de PowerCobol para uma base de dados de um site na Internet.
Está tudo feito em PowerCobol V9.0, cria as tabelas no SQL do site, apaga as tabelas também, e escreve e le dados, tudo através duma ligação á Internet.
Não utiliza ODBC, faz a ligação direta á base de dados.
A única diferença é que utilizei tudo, através de comandos COM/OLE2 e o ADO.

Código COBOL:
  1. INVOKE COM "CREATE-OBJECT" USING ADO-CONNECTION-TYPE RETURNING OBJ-CONNECTION.
  2. INVOKE COM "CREATE-OBJECT" USING ADO-COMMAND-TYPE RETURNING OBJ-COMMAND.
  3. INVOKE COM "CREATE-OBJECT" USING ADO-RECORDSET-TYPE  RETURNING OBJ-RECORDSET(1).
  4. **
  5. ***  DEFINE AND OPEN CONNECTION
  6. **
  7. INITIALIZE ADO-CONNECT-STRING.
  8. STRING  
  9.              "Driver="   ADO-DRIVER   DELIMITED BY ";"  "; " DELIMITED BY SIZE
  10.              "Server="   ADO-SERVER   DELIMITED BY ";"  "; " DELIMITED BY SIZE
  11.              "Port="     ADO-PORT     DELIMITED BY ";"  "; " DELIMITED BY SIZE
  12.              "UID="      ADO-UID      DELIMITED BY ";"  "; " DELIMITED BY SIZE
  13.              "PWD="      ADO-PWD      DELIMITED BY ";"  "; " DELIMITED BY SIZE
  14.              "CHARSET="  ADO-CHARSET  DELIMITED BY ";"  "; " DELIMITED BY SIZE
  15.              "DATABASE=" ADO-DATABASE DELIMITED BY ";"  
  16.              "; "                     DELIMITED BY SIZE
  17.                       INTO ADO-CONNECT-STRING.
  18. *
  19.  MAIN-05.
  20. *   MOVE "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\RPS13_SRC\RPSFtsEIbd\Database5.accdb;Jet OLEDB:Database;" TO ADO-CONNECT-STRING.
  21. *
  22.     MOVE "SETCONNECTIONSTRING "  TO INSTRUCAO.
  23. *
  24. INVOKE OBJ-CONNECTION "SET-CONNECTIONSTRING" USING ADO-CONNECT-STRING RETURNING RETURN-ERROR.
  25. IF RETURN-ERROR NOT = 0  DISPLAY "ERRO: CONNECTION STRING" STOP " " GO TO MAIN-99-EXIT.
  26. *
  27. MOVE "OPEN CONNECTION" TO INSTRUCAO.
  28. INVOKE OBJ-CONNECTION "OPEN"     RETURNING RETURN-ERROR.
  29. IF RETURN-ERROR NOT = 0  DISPLAY "ERRO:OPEN CONNECTION"  STOP " "   GO TO MAIN-99-EXIT.
  30. *


Já subi, algum tempo atrás, para o foro um exemplo de como ligar por esse processo e ler dados da base de dados. --> Base de Dados DBF por OLE2
Se estiveres interessado na utilização de COM/OLE2, poderei dar-te uma ajuda, com um pequeno exemplo.

Un saludo,
Rui Pinto

Hrmcobol 2 de marzo de 2016 13:42

Gracias Rapinto. Como Siempre Usted Con La Respuesta. Esto es demasiado para mi, nunca trabaje ni vi nada con ADO. El tema de crear y modificar tablas era solo una sutileza que quería hacer.
Lo dejare para mas adelante.
Saludos !!

Kuk 14 de junio de 2017 09:28

Josber, y otros amigos del foro. ¿Utilizáis un precompilador particular de la BBDD o el que viene con NetCOBOL? Y también, ¿cómo incluís la SQLCA, con COPY o con EXEC SQL INCLUDE?

Josber 14 de junio de 2017 20:58

Cita:

Citación del post de Kuk (Mensaje 3156)
Josber, y otros amigos del foro. ¿Utilizáis un precompilador particular de la BBDD o el que viene con NetCOBOL? Y también, ¿cómo incluís la SQLCA, con COPY o con EXEC SQL INCLUDE?


Yo utilizo el que viene con Netcobol incluido, en cuanto a lo otro, no caigo ahora en qué es

Un saludo.-c

Kuk 14 de junio de 2017 21:53

Josber, lo otro es una tontería, debe ser EXEC SQL INCLUDE, se me ha ido la fresa a la hora de preguntarlo ;)

dmosca 22 de junio de 2017 17:54

sql embebido
 
Buen dia

sigo sin poder conectar Powercobol con Mysql

por favor si tienen unos minutos para explicar el contenido de COBOL85.cbr y BD.inf

Josber 22 de junio de 2017 20:58

dmosca, a ver lo principal es que, no sé si será tu caso, pero si tienes los ejecutables en un directorio distinto a los fuentes, no te funcionará, para que funcione, tienes que cambiarlo en el proyecto.

En el fichero COBOL85.CBR, has de poner una línea más o menos así, (puedes hacerlo con el Notepad, que funciona igual):

@ODBC_Inf=C:\Tiras y Cordones\bd.inf

El fichero .inf, en mi caso BD.inf, has de crearlo con la utilidad SQLODBCS, para ello, antes tienes que haber creado el conector ODBC, desde el panel de control de windows. Una vez creado el ODBC, es tan sencillo como abrir la utilidad que te he dicho, darle al botón de buscar en la primera pantalla, (Browse), selccionas la carpeta donde quieres guardar el archivo .inf, en esa carpeta pones el nombre que quieres darle al archivo y te preguntará si quieres crear uno nuevo, le dices que sí y entras en la pantalla de configuración.

- En Server Name, pones el nombre que quieras, pero ten en cuenta que, el nombre que pongas ahí, va a ser el que uses en tu programa POWER COBOL, por ejemplo para abrir la BD. (EXEC SQL CONNECT TO nombre END EXEC.)
- Marca la opción Machine Data Source
- En Data Source Name, abres el desplegable, y te aparecerá la conexión ODBC que tengas hecha, la seleccionas.
- En User ID, pones el nombre del usuario autorizado para acceder a la BD, si no tienes ninguno, será root
- En Password, pones la contraseña de ese usuario.
- En Comment, no hace falta que pongas nada si no quieres
- En Access Mode, marcas la opción de Read/Write
- En COMMIT MODE, depende de como lo tengas definidio en MySQL, si es AUTO o NO

El resto de opciones, no me ha hecho falta nunca modificarlas, le das a aceptar y listo, te crea el archivo .inf y a funcionar.

Si tienes mas problemas, no dudes en consultar.

Un saludo.-

dmosca 23 de junio de 2017 03:11

ok
 
Josber

pude consultar la base, muchas gracias

Joseg 23 de junio de 2017 10:21

Numa instalação em rede (local network), existe alguma forma de automatizar a criação do DNS?
O objetivo era não ter que ir a cada maquina para criar manualmente a ligação de ODBC.

Gracias
Jose


La franja horaria es GMT +2. Ahora son las 14:41.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.