Resultados 1 al 10 de 10

Tema: Cerrar .dbf desde power

  1. #1
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado Cerrar .dbf desde power

    Hola.

    Os comento,
    Bajo powercobol 9 hago unicamente consultas sobre dos bases de datos dbf creadas con FOXPRO.

    Utilizo para acceder el Driver={Microsoft dBASE Driver (*.dbf)}; Driverid=277; Dbq=C:\DOSER\RAFEL\SEMANALES\DATOS\.
    Funcionan perfectamente.

    El caso es que en una actualizacion que hicieron en el programa bajo foxpro, me da un error cuando accedo a las bases.

    Haciendo pruebas, he conseguido entrar en las bases abriendo las bases con el open office base, modificando el valor de cualquier registro y grabandolo.

    Supongo que en la modificacion, dejaron las bases sin su correspondiente close y cuando accedo en power me da error.

    Alguien sabe como podria cerrar las bases desde power para poder acceder sin tener que utilizar el open office ( es que una tabla es muy grande y me tarda en exceso )


    Gracias por todo.

    0 Not allowed!

  2. #2
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Ubicación
    Jerez De La Frontera (cádiz)
    Mensajes
    182
    Última visita
    06.03.2022

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

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

    Predeterminado

    Por OBDC no se puede cerrar archivos, es una conexión de red, o sea que se conecta y desconecta de sus sesiones abiertas, aunque no sea en red local.

    Ahora los archivos DBF podía darse el caso de que estuviera abiertos de solo exclusivo y no te deje acceder a ellos, en ese caso, la solución es copiar los archivos que necesitas acceder a un ruta local, y desde hay accedes desde OBDC.

    0 Not allowed!
    Empresa de desarrollo de aplicaciones en COBOL.

    DASIJE INFORMATICA, S.L.
    C/ TOMAS BRETON 20
    11406 JEREZ DE LA FRONTERA
    CADIZ

    Teléfono : 956 11 21 11
    Web: http://www.dasije.es / DASIJE INFORMATICA
    E-m@il: clientes(@)dasije.es

  3. #3
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Hola.

    La copia tambien me da error.

    No entiendo que puede ser. El caso es que si abro con open oficce y lo guardo, entonces si que funciona.

    Gracias

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

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

    Predeterminado

    @Breew, no podría ser la versión del ODBC? Busca a ver si hay alguna más reciente del que tienes.

    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
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Hola.
    Nada, tampoco estoy seguro si es el driver.
    Como no se que version tengo, he instalado la ultima que he encontrado y tampoco.

    No se si pedir a algun programador que me haga una aplicacion en fox pro que lo abra y lo cierre.
    Siempre accedo en modo consulta y siempre sobre una copia, nunca accedo directamente al origen de la copia.

    0 Not allowed!
    Última edición por Breew; 30.05.2018 a las 22:31 Razón: ampliacion

  6. #6
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Bueno.

    Al final , lo pude arreglar a lo bestia.

    Tras ver que si abria y grababa la copia de la base con el open officce, y despues podia manipularla con el driver, me arme de valor y cogi el original e hice lo mismo.

    Desde entonces funciona todo correctamente. desde el programa original, no se ha visto ninguna anomalia, y desde power cobol todo va perfecto.

    Hago incapie en que con el ODBC lo unico que hago son consultas para procesarlas de otra manera, pero en ningun caso modifico la base original.

    Lo dejo aqui por si algun usuario ha tenido algun problema parecido.

    Saludos

    0 Not allowed!

  7. #7
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

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

    Predeterminado

    @Breew, pero entonces cuál era exactamente el problema? A la hora de copiar la base se corrompía o algo así?

    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.

  8. #8
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Hola Kuk.
    No creo que estuviera corrompida, ya que desde la misma aplicacion hay una funcion para reindexarla y el problema continuaba.

    El programa que utilizan es de una pequeña empresa y esta personalizado a sus necesidades.
    Hicieron una actualizacion para añadir mas funciones, y supongo que alguna cosa paso en la base (añadieron mas registros ). Desde la aplicacion todo funcionaba bien.

    Cuando accedi desde power, no tenia conexion a la base. Asi que decidi abrir una copia con el OpenOffice, eche un vistazo, la grabe y entonces podia acceder .
    Empece a darle vueltas a la conexion , al driver, al tamaño de los registros y nada funcionaba.

    No lo tengo claro, seguramente , hicieron alguna actualizacion de la base con una version mas actualizada de FOXPRO y al ser compatible con la anterior, no detectaron ningun problema.

    Como la copia con open funcionaba, decidi probrar directamente con la original:abrir, modificar un registro y salvarlo todo con el open .
    El programa ha funcionado sin novedades y mi aplicacion tambien.

    Cita Iniciado por Kuk Ver Mensaje
    @Breew, pero entonces cuál era exactamente el problema? A la hora de copiar la base se corrompía o algo así?

    0 Not allowed!

  9. #9
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Hola Coboleros.


    Reabro este hilo, porque se me ha repetido el problema con otra tabla del visual Foxpro.

    El progama que uso esta basado en una solucion que me dio Rapinto (Gracias amigo).
    [Aporte] Base de Dados DBF por OLE2 - COBOL Foro
    El caso es que hay tablas que no puedo acceder via ADO a no ser que las abra con el open office y las grabe de nuevo .
    Buscando la causa , creo que se debe a que hay tablas que se crearon como Tabla DbaseIII y otras son tablas Visual Foxpro.

    Normalmente uso el siguiente driver
    COBOL Código:
    1. MOVE "Driver={Microsoft dBASE Driver (*.dbf)}; Driverid=277; Dbq=C:\doser\rafel\datos"   TO ADO-CONNECT-STRING.

    Para solventarlo, he instalado el visualfoxpro 9 , que supongo que me ha instalado el driver de FoxPor
    he intento hacerlo servir

    COBOL Código:
    1. MOVE 'Driver={Microsoft Visual FoxPro Driver (*.dbf)}; Dbq=C:\doser\rafel\datos' TO ADO-CONNECT-STRING.

    pero creo que no se si la instruccion seria esta, porque no hay manera de que funcione.

    Muchas veces que importo la base con Open me indica que determine el conjunto de caracteres, supongo que en algun momento
    se utilizo en un ordenador que no tiene el mismo conjunto de caracteres .

    El programa original es muy antiguo, seguramente se origino en MSDos y con el tiempo se ha ido actualizando a varias versiones
    compatibles con windows, mientras que las tablas son las mismas.

    Alguno sabria indicarme que intruccion deberia poner en la conexion?
    Supongo que si hago funcionar el driver de VisualFoxpro, podria consultar la tabla sin tener que modificarla.


    Gracias

    0 Not allowed!

  10. #10
      Forero
    B

    Registrado
    febrero de 2015
    Ubicación
    Barcelona
    Edad
    58
    Mensajes
    126
    Última visita
    09.05.2022

    Agradecimientos
     
    Recibidos
    11
    Enviados
    105

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

    Predeterminado

    Hola de nuevo.

    He encontrado el comando para la conexion, al menos no da error a la primera

    COBOL Código:
    1.              MOVE "Driver={Microsoft Visual FoxPro Driver}; SourceType=DBF; SourceDB=C:\doser\rafel\datos"  
    2.              TO ADO-CONNECT-STRING.

    Pero no consigo ver nada
    SQL Código:
    1. SELECT * FROM CLIENTES

    Intento que coja el contenido de un campo y lo meta en una variable para volcarlo en un ctlist:
    Asi como en dbase III funcionaba con estas instrucciones, parece que no hace caso en foxpro.
    COBOL Código:
    1.  GETFIELDS SECTION.
    2.  GETFIELDS-00.
    3.  
    4.     INVOKE OBJ-FIELDS "GET-ITEM" USING IDX1 RETURNING OBJ-FIELD(IDX1 + 1).
    5.     INVOKE OBJ-FIELD(IDX1 + 1) "GET-NAME" RETURNING FIELD-NAME.
    6. *
    7.           IF FIELD-NAME = "CLICODIGO"          INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING CLICODIGO  . DISPLAY CLICODIGO .
    8.           IF FIELD-NAME = "NOMBRE"             INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING NOMBRE     . DISPLAY NOMBRE    .
    9.           IF FIELD-NAME = "RAZON"              INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING RAZON      . DISPLAY RAZON     .
    10.           IF FIELD-NAME = "NIF"                INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING NIF        . DISPLAY NIF       .
    11.           IF FIELD-NAME = "DIRECCION"          INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING DIRECCION  . DISPLAY DIRECCION .
    12.           IF FIELD-NAME = "DP"                 INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING DP         . DISPLAY DP        .
    13.           IF FIELD-NAME = "POBLACION"          INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING POBLACION  . DISPLAY POBLACION .
    14.           IF FIELD-NAME = "PROVINCIA"          INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING PROVINCIA  . DISPLAY PROVINCIA .
    15.           IF FIELD-NAME = "TELEFONO"           INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING TELEFONO   . DISPLAY TELEFONO  .
    16.           IF FIELD-NAME = "TELEFONO2"          INVOKE OBJ-FIELD(IDX1 + 1) "GET-VALUE" RETURNING TELEFONO2  . DISPLAY TELEFONO2 .
    17.  
    18.  GETFILEDS-99.
    19.     EXIT.
    20.  

    Confieso que practicamente no entiendo el codigo, simplemente lo modifico basandome en el original .

    Gracias

    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. [Componente] Power Cobol ActiveX using with VB6,C++, etc.
    Por hbetancur en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 1
    Último Mensaje: 05.07.2018, 18:42
  2. [Sintaxis] Traducir código de VB a Power
    Por Xavier en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 10
    Último Mensaje: 23.09.2016, 01:03
  3. [Información] Crear archivos DBF desde COBOL (sin ODBC)
    Por Joseg en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 4
    Último Mensaje: 16.03.2016, 17:36
  4. [Sintaxis] Desactivar la [X] de cerrar ventana
    Por Ciro en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 28.10.2015, 14:26
  5. [Aporte] Base de Dados DBF por OLE2
    Por Rapinto en el foro Cocina PowerCOBOL + COM/OLE
    Respuestas: 3
    Último Mensaje: 24.06.2015, 12:36

Etiquetas para este Tema

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
  •