Visual Basic - Está vacía y ocupa mucho !!!

Life is soft - evento anual de software empresarial
 
Vista:

Está vacía y ocupa mucho !!!

Publicado por Miguel Mercader (243 intervenciones) el 23/10/2000 00:00:00
Tengo un programa para almacenar fotos en campos Binarios.El problema es que si guardo un total de 40 MB en la base de datos y luego borro todas las fotos,la base de datos está vacía y ocupa lo mismo que antes.Pensé que reparando la base de datos se arreglaría,pero no,sigue igual.
¿Cómo se puede solucionar?

Muchas gracias
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:Está vacía y ocupa mucho !!!

Publicado por jose maria (15 intervenciones) el 23/10/2000 00:00:00
¿Con qué base de datos trabajas?
Si supongo que trabajas con access, que es lo mas normal, tienes un ligero problemilla.
Access no libera memoria una vez que borras registros, el ultimo valor de la base de datos es la que te tomara a partir de ahora.
Lo unico que se puede hacer en estos casos, es comprimir la base de datos...
¿Pero desde Visual? No lo he probado nunca, pero seguro que existe un API que lo hace...
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

RE:Está vacía y ocupa mucho !!!

Publicado por edu (21 intervenciones) el 23/10/2000 00:00:00
Vi que la reparastes pero no probastes COMPACTANDOLA el DbEngine.Compact

atte.
Eduardo
Vzla
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

RE:Está vacía y ocupa mucho !!!

Publicado por lucKas (75 intervenciones) el 23/10/2000 00:00:00
Hola Miguel!

Compacta y repara la base de datos, hay dos formas de hacerlo, directamente desde Access o con código desde VB6.

1º Si lo haces desde Access en el menu.

Herramientas>>Utilidades de la B.D.>>Compactar y reparar B.D.

2º Si prefieres hacerlo desde tu programa mirate este código te puede servir de ejemplo, es el que yo útilizo.


***************************
Public Sub Compactacion()

´ Compactacion y Reparacion de la base de datos

If cnn.State = 1 Then cnn.Close
If cnnMarca.State = 1 Then cnnMarca.Close
If Dir("C:\ProgInfo\InfoConta\InfoConta\InfoConta.ldb") <> "" Then
GoTo Errores
End If
frmCompactando.Show vbModal
´ Renombro las bases de tal manera que quede activa la compactada
Kill "C:\ProgInfo\InfoConta\InfoConta\InfoConta.mdb"
Name "C:\ProgInfo\InfoConta\InfoConta\InfoContaCo.mdb" As "C:\ProgInfo\InfoConta\InfoConta\InfoConta.mdb"

´Comprovamos que no se haya duplicado la base de datos
If Dir("C:\ProgInfo\InfoConta\InfoConta\InfoContaCo.mdb") <> "" Then
Kill "C:\ProgInfo\InfoConta\InfoConta\InfoContaCo.mdb"
End If

´****Ponemos nueva fecha de la proxima actualizacion
Set TextoFecha = fsDat.OpenTextFile("C:\ProgInfo\InfoConta\InfoConta\Dates.txt", ForWriting)
TextoFecha.WriteLine (Date)
TextoFecha.Close
Exit Sub
Errores:
MsgBox "Base de Datos abierta en modo exclusivo cierre todas las aplicacion
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