Power Builder - ACCESS

 
Vista:

ACCESS

Publicado por IVAN (101 intervenciones) el 05/09/2005 23:19:48
Hola a Todos

Tengo el siguiente caso:

Estoy realizando un proceso de transferencia de datos de una transaccion a otra transaccion por medio de pipelines, los archivos estas en Access .mdb

La primera transaccion sqlca ya esta conectada la segunda le creo el objeto de transccion lt_envio; y luego me conecto

ejecuto los pipelines
hago el diconnect de la transaccion lt_envio
Destroy de los pipelines

hago un proceso interno para comprimir el archivo (ESTE ARCHIVO DEBE ESTAR CERRADO)

como uds saben access al momento de abrir un archivo crea un .ldb

verifique con una funcion fileopen de tipo streanmode! y me devuelve -1
el archivo de la transaccion lt_envio pareciera que esta quedando abierto el .ldb no se esta borrando

¿Cómo hago para q este archivo se cierre, sabiendo q la BD esta en Access y q con la instruccion Disconnect; deberia de hacerlo y al volver a ejecutar la funcion fileopen pueda retornarme el valor de 1?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ACCESS

Publicado por karen (274 intervenciones) el 05/09/2005 23:33:48
Por que no le haces despues del disconnect un destroy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:ACCESS

Publicado por Antonio (1271 intervenciones) el 06/09/2005 02:52:22
hola Iva:

Mira,

1) Destruye el pipeline
2) Desconectate de tu base de datos con Disconnect
3) colocal este código después de que te desconectas de la base de datos

integer i

for i = 1 to 10000
next

porque hacer esto ?, bueno, recuerda que access tiene un cierto tiempo para determinar que la base de datos ya no esta en uso y por consiguiente access borra ese archivo, ya sabemos que ese archivo le sirve a access para determinar si esta en uso la base de datos o para bloqueo de registros.
asi que, dale tiempo a access para que pueda eliminar el archivo que te esta ocacionando el problema.

Ahora bien, si aun asi, no se borra el archivo, esto quiere decir que tu aplicación se cerro abrutamente y bloque la base de datos dejando vivo el arcivo .ldb, si es el caso, borralo manualmente y vuelve a realizar el proceso pero poniendo el código que te indique.

ojala y te sirva, Suerte amigo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar