CÓMO: Compactar una base de datos de Microsoft Access mediante Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 306287 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E306287
Expandir todo | Contraer todo

En esta página

Resumen

ActiveX Data Objects (ADO) y ADO. NET no proporcionan los medios necesarios para compactar ni reparar las bases de datos de Microsoft Access. No obstante, puede hacerlo con el Proveedor OLE DB de Microsoft para Jet y objetos de replicación (JRO), que se incluyó por primera vez en Microsoft Data Access Components (MDAC), versión 2,1. ADO .NET permite el uso de las bibliotecas de objeto basadas en COM mediante la capa Interop.

Este artículo muestra cómo compactar una base de datos de Access con Visual Basic .NET.


Requisitos

  • Microsoft Visual Basic .NET
  • Biblioteca de Microsoft Jet y objetos de replicación 2.1, 2.5 o 2.6

Pasos para generar el ejemplo

  1. Abra una nueva aplicación de consola en Visual Basic .NET.
  2. En la ventana Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en el nodo Referencias y seleccione Agregar referencia.
  3. En el cuadro de diálogo Agregar referencia, haga clic en la ficha COM y seleccione Biblioteca de Microsoft Jet y objetos de replicación 2.1. Haga clic en Seleccionar para agregarlo a "Componentes seleccionados". Haga clic en Aceptar.
  4. Se mostrará una advertencia si no se encuentra un empaquetador para la biblioteca seleccionada. Haga clic en para generar un empaquetador. Las referencias Biblioteca Microsoft ActiveX Data Objects (ADODB) y JRO se agregarán a las References del proyecto.
  5. En la ventana Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en Module1.vb y haga clic en Ver código.
  6. Elimine todo el código de la ventana de código.
  7. Copie el código siguiente y péguelo en la ventana de código:
    Module Module1
    
        Sub Main()
    
            Dim jro As JRO.JetEngine
    
            jro = New JRO.JetEngine()
    
            jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5")
    
            MsgBox("Finished Compacting Database!")
        End Sub
    
    End Module
  8. Cambie la ruta a los archivos .mdb Fuente y Destino según sea necesario. Presione F5 para crear y ejecutar el proyecto.

    La base de datos compactada tendrá el formato de Access 2000 (Jet 4.0). Para un formato Jet diferente, consulte "Referencias".

Errores

Con el fin de compactar una base de datos, el motor de bases de datos de Jet requiere acceso exclusivo al archivo de bases de datos. El intento de compactar un archivo de base de datos que está actualmente en uso producirá una excepción. Esta excepción se puede usar con una estructura Try...Catch.

REFERENCIAS

Para obtener más detalles acerca de la capa de interoperabilidad de COM y .NET Framework, consulte:
Exponer Componentes COM a .NET Framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconexposingcomcomponentstonetframework.asp
Para obtener información adicional acerca del uso de ADO y JRO para compactar las bases de datos de Access, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
230501 HOWTO: Compact Microsoft Access Database via ADO

Propiedades

Id. de artículo: 306287 - Última revisión: jueves, 10 de abril de 2003 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbhowto kbhowtomaster KB306287

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com