В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Как сжать базу данных Microsoft Access с помощью Microsoft Visual Basic .NET

Данная статья была ранее опубликована под номером RU306287
Аннотация
Ни механизм ActiveX Data Objects (ADO), ни механизм ADO .NET не предоставляют возможности сжатия или восстановления базы данных Microsoft Access. Однако, Вы можете решить данную задачу, используя Microsoft Jet OLE DB Provider и Replication Objects (JRO), которые входят в состав пакета Microsoft Data Access Components (MDAC) версии 2.1. ADO .NET позволяет использовать библиотеки COM-объектов с помощью слоя "Interop".

В данной статье описывается способ сжатия базы данных Microsoft Access с помощью Microsoft Visual Basic .NET.


К началу статьи

Системные требования

  • Microsoft Visual Basic .NET
  • Microsoft Jet и библиотека Replication Objects 2.1, 2.5 или 2.6
К началу статьи

Шаги по созданию примера

  1. Создайте новое консольное приложение Visual Basic .NET.
  2. В окне "Solution Explorer" щелкните правой кнопкой мыши по узлу "References" и выберите пункт "Add Reference".
  3. В окне "Add Reference" перейдите на вкладку "COM" и выберите пункт "Microsoft Jet and Replication Objects 2.I Library". Нажмите кнопку "Select" для добавления компонента и нажмите кнопку "ОК".
  4. Если не найдено соответствующее окружение выбранной библиотеки, будет выдано предупреждение. Нажмите кнопку "Yes" для создания окружения. Ссылки Microsoft ActiveX Data Objects Library (ADODB) и JRO будут добавлены в раздел "References" активного проекта.
  5. В окне "Solution Explorer" щелкните правой кнопкой мыши по модулю "Module1.vb" и выберите пункт "View Code".
  6. Удалите весь код из окна.
  7. Вставьте в окно следующий текст:
    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("Сжатие базы данных завершено!")    End SubEnd Module
  8. Измените пути для .mdb-файлов в разделах "Source" и "Destination" на требуемые. Нажмите клавишу "F5" для запуска проекта.

    Сжатая база данных сохраняется в формате Access 2000 (Jet 4.0). Для установки другого формата обратитесь к разделу "Ссылки".
К началу статьи

Особенности использования

Для выполнения сжатия Jet Database Engine требует монопольный доступ к файлу базы данных. Попытка сжать используемую базу данных приведет к ошибке. Данную ошибку можно обработать с помощью инструкций "Try...Catch".

К началу статьи
Ссылки
За дополнительной информацией о .NET Framework и слое COM Interop обратитесь к следующим ресурсам:За дополнительной информацией об использовании ADO и JRO для сжатия базы данных Access обратитесь к следующей статье Microsoft Knowledge Base:
230501 HOWTO: Compact Microsoft Access Database via ADO
К началу статьи
Свойства

Номер статьи: 306287 — последний просмотр: 09/17/2011 10:41:00 — редакция: 4.0

  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbhowto kbhowtomaster KB306287
Отзывы и предложения