FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como se Cierra ldb con adordd?
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Como se Cierra ldb con adordd?
Posted: Tue Sep 30, 2008 12:11 PM
Hola amigos

Cuando abrimos una base de datos mdb nos genera un fichero .ldb asociado a ella, y cuando se cierra la base de datos, 茅ste fichero ldb desaparece.
Bien, pues si la base de datos la abrimos con adordd, no hay manera, con el problema que ello conlleva, ya que 茅ste fichero no se puede borrar manualmente.
Ejemplo:
   USE &base1 VIA "ADORDD" alias paquetes NEW TABLE "UltimoRegistro" 
if paquetes->(Recno())>=1 
  DbSetfilter({|| "Ufecha >= '" + comienzo + "'"},"Ufecha >= '" + comienzo + "'")
	 dbusearea(.t.,,Publicas:cUnidad+Publicas:cSubd+"\Rdia",,.t.)
         Rdia->(OrdSetFocus("Expedicion"))
	 paquetes->(Dbgotop())
	 do while !paquetes->(Eof())
	  Rdia->(Dbappend())
	  Rdia->expedicion:=paquetes->Expedicion
	  Rdia->Bulto:=paquetes->Bulto
	  Rdia->UFecha:=paquetes->Ufecha
	  Rdia->Upeso:=paquetes->UPeso/10
	  Rdia->Uvolumen:=paquetes->Uvolumen/1000000
	  Rdia->ULargo:=paquetes->ULargo/100
	  Rdia->UAlto:=paquetes->UAlto/100
	  Rdia->UAncho:=paquetes->UAncho/100
	  paquetes->(Dbskip())
	 enddo
	 paquetes->(Dbclosearea())


Yo supon铆a que al cerrar el area ( paquetes->(Dbclosearea())) como hacemos normalmente, desaparecer铆a espe fichero, pero no.

Este problema creo que ya se expuso el a帽o pasado en el foro ingl茅s, ha habido novedades?

Saludos

Jose Luis
--------------------------

Saludos



Jose Luis
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Tue Sep 30, 2008 08:08 PM

Jose Luis,

Prueba esto despues de llamar a DbCloseArea():

HB_AdoRddGetConnection():Close()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 07:10 AM
Antonio

Me da error de acceso a array:
    Application
    ===========
    Path and name: C:\fuentes\xharbour\GESPAQ08\gespaqn.Exe (32 bits)
    Size: 1,018,880 bytes
    Time from start: 0 hours 0 mins 56 secs
    Error occurred at: 01-10-2008, 09:05:08
    Error description: Error BASE/1068 Argument error: array access
    Args:
    [ 1] = U
    [ 2] = N 4

    Stack Calls
    ===========
    Called from: adordd.prg => HB_ADORDDGETCONNECTION(982)
    Called from: => CALCULA(364)
    Called from: trafico.prg => (b)EVAL(142)[/list:u]

    Saludos

    Jose Luis
--------------------------

Saludos



Jose Luis
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 07:31 AM

Jose Luis,

Haz la llamada a: HB_AdoRddGetConnection():Close()

antes de hacer el DbCloseArea()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 08:25 AM

Antonio

Sigue dando el mismo error

Saludos

Jose Luis

--------------------------

Saludos



Jose Luis
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 08:27 AM

Jose Luis,

Parece algo propio de ADO con MDB. Si la conexi贸n est谩 cerrada, el fichero no deber铆a quedarse abierto...

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 08:40 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 08:48 AM

"' el DataReader debe ser cerrado expl铆citamente al terminar de leer
col.Close()
Se cierra expl铆citamente la conexi贸n OleDb (si no se hace as铆, la informaci贸n de bloqueo de registros de la base de datos de Access permanece en forma de archivo con extensi贸n *.ldb junto al archivo pruebasDB.mdb y puede provocar errores en accesos futuros a la base de datos):
' Cerrar la conexi贸n y los objetos de comando
com.Dispose()
con.Close()
Console.WriteLine("Conexi贸n OLEDB cerrada.")"

"From the studies I have done using VB6, you will need to close out the
database instead of the recordset."

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 08:51 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Como se Cierra ldb con adordd?
Posted: Wed Oct 01, 2008 10:29 AM

Antonio

Muchas gracias, vamos a ponernos a ello

Saludos

Jose Luis

--------------------------

Saludos



Jose Luis

Continue the discussion