0

![]() |
![]() |
Super Moderador |
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.-
![]() |
![]() |
Gran amigo y Guru de COBOL |
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.COBOL Código:
INVOKE COM "CREATE-OBJECT" USING ADO-CONNECTION-TYPE RETURNING OBJ-CONNECTION. INVOKE COM "CREATE-OBJECT" USING ADO-COMMAND-TYPE RETURNING OBJ-COMMAND. INVOKE COM "CREATE-OBJECT" USING ADO-RECORDSET-TYPE RETURNING OBJ-RECORDSET(1). ** *** DEFINE AND OPEN CONNECTION ** INITIALIZE ADO-CONNECT-STRING. STRING "Driver=" ADO-DRIVER DELIMITED BY ";" "; " DELIMITED BY SIZE "Server=" ADO-SERVER DELIMITED BY ";" "; " DELIMITED BY SIZE "Port=" ADO-PORT DELIMITED BY ";" "; " DELIMITED BY SIZE "UID=" ADO-UID DELIMITED BY ";" "; " DELIMITED BY SIZE "PWD=" ADO-PWD DELIMITED BY ";" "; " DELIMITED BY SIZE "CHARSET=" ADO-CHARSET DELIMITED BY ";" "; " DELIMITED BY SIZE "DATABASE=" ADO-DATABASE DELIMITED BY ";" "; " DELIMITED BY SIZE INTO ADO-CONNECT-STRING. * MAIN-05. * MOVE "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\RPS13_SRC\RPSFtsEIbd\Database5.accdb;Jet OLEDB:Database;" TO ADO-CONNECT-STRING. * MOVE "SETCONNECTIONSTRING " TO INSTRUCAO. * INVOKE OBJ-CONNECTION "SET-CONNECTIONSTRING" USING ADO-CONNECT-STRING RETURNING RETURN-ERROR. IF RETURN-ERROR NOT = 0 DISPLAY "ERRO: CONNECTION STRING" STOP " " GO TO MAIN-99-EXIT. * MOVE "OPEN CONNECTION" TO INSTRUCAO. INVOKE OBJ-CONNECTION "OPEN" RETURNING RETURN-ERROR. IF RETURN-ERROR NOT = 0 DISPLAY "ERRO:OPEN CONNECTION" STOP " " GO TO MAIN-99-EXIT. *
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
![]() |
![]() |
Guardián del Foro |
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 !!
![]() |
![]() |
Administrador |
@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?
¿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:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Administrador |
@Josber, lo otro es una tontería, debe ser EXEC SQL INCLUDE, se me ha ido la fresa a la hora de preguntarlo![]()
¿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:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Junior |
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
![]() |
![]() |
Super Moderador |
@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.-
![]() |
![]() |
Junior |
Josber
pude consultar la base, muchas gracias
![]() |
![]() |
Senior |
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
Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)
Marcadores