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

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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:230501
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Аннотация
Несмотря на то, что спецификации ADO не поддерживает объекты для сжатия базы данных Microsoft Access, эта возможность обеспечивается с помощью расширения ADO: Microsoft Jet OLE DB Provider и репликации объектов (JRO). Эта возможность была реализована в первый раз в поставщика JET OLE DB версии 4.0 (Msjetoledb40.dll) и JRO версии 2.1 (Msjro.dll). Эти DLL-файлы доступны после установки MDAC 2.1. Последнюю версию компонентов MDAC можно загрузить с веб-узлу:
Дополнительная информация
Сжатие базы данных Access с помощью ADO компоненты MDAC версии 2.1 или более поздней версии должен быть установлен на компьютере. Ниже приведены основные шаги для сжатия базы данных Microsoft Access, с помощью Visual C++ и Visual Basic.

Visual Basic: При сжатии базы данных Microsoft Access через ADO

  1. Visual Basic интегрированной среды разработки, в меню проект выберите команду ссылки.
  2. Microsoft Jet и репликации объектов X.X библиотеки, где (X.X больше или равно 2.1).
  3. Visual Basic, замена путей данных исходной и целевой баз данных, при необходимости добавьте следующие строки кода:
    Dim jro As jro.JetEngineSet jro = New jro.JetEnginejro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nwind2.mdb;Jet OLEDB:Database Password=test", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abbc2.mdb;Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test"					
Примечание: В DAO 3,60 метод RepairDatabase больше не доступен. Выше коде показано использование метода CompactDatabase. Этот метод заменяет метод DAO 3.5 RepairDatabase.

Visual C++: Сжатие базы данных Access через ADO

  1. Помимо директивы # import, Msado15.dll (MDAC2.1), добавьте следующий оператор # import для создания классов-оболочек для JRO .cpp классы (в качестве альтернативы можно создать классы-оболочки более эффективно, используя атрибуты no_implementation и implementation_only инструкцию препроцессора # import):
    #import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace 					
  2. Добавьте следующий код (указав собственные пути базы данных источника и назначения) в CPP-файл для сжатия базы данных:
    ...try{   IJetEnginePtr jet(__uuidof(JetEngine));  jet->CompactDatabase( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\nwind2.mdb;Jet OLEDB:Database Password=test", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc.mdb;" \ "Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test");}catch(_com_error &e) {          ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;    }					
Примечание: Тип OLEDB:Engine Jet = 4 предназначен только для файлов MDB формата Jet 3.x. Если это значение, базы данных автоматически обновляется до версии 4.0 (типа OLEDB:Engine Jet = 5). Соответствующие значения для типа OLEDB:Engine Jet см:
Тип OLEDB:Engine JetJet x.x файлы в формате MDB
1JET10
2JET11
3JET2X
4JET3X
5JET4X
Ссылки
Для получения дополнительных сведений см.в статье базы знаний Майкрософт:
230496 Сжатие базы данных Microsoft Access через OLE DB
Reindex CompactDatabase RepairDatabase

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 230501 — последний просмотр: 05/16/2012 07:10:00 — редакция: 5.0

  • kbhowto kbjet kbprovider kbmt KB230501 KbMtru
Отзывы и предложения
none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">