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

Переводы статьи Переводы статьи
Код статьи: 306287 - Vizualiza?i produsele pentru care se aplic? acest articol.
Данная статья была ранее опубликована под номером 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 Sub
    
    End Module
  8. Измените пути для .mdb-файлов в разделах "Source" и "Destination" на требуемые. Нажмите клавишу "F5" для запуска проекта.

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

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

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

Ссылки

За дополнительной информацией о .NET Framework и слое COM Interop обратитесь к следующим ресурсам:
Exposing COM Components to the .NET Framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconexposingcomcomponentstonetframework.asp
За дополнительной информацией об использовании ADO и JRO для сжатия базы данных Access обратитесь к следующей статье Microsoft Knowledge Base:
230501 HOWTO: Compact Microsoft Access Database via ADO

Свойства

Код статьи: 306287 - Последний отзыв: 17 сентября 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Ключевые слова: 
kbhowto kbhowtomaster KB306287

Отправить отзыв

 

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