Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

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

Este artículo se publicó anteriormente con el número E306287
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.


volver al principio

Requisitos

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

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 SubEnd 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".
volver al principio

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.

volver al principio

REFERENCIAS

Para obtener más detalles acerca de la capa de interoperabilidad de COM y .NET Framework, consulte: 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
volver al principio
Propiedades

Id. de artículo: 306287 - Última revisión: 04/10/2003 14:11:00 - Revisión: 1.0

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbhowto kbhowtomaster KB306287
Comentarios