Поделиться через


Метод CompactDatabase (SQL Server Compact)

Метод CompactDatabase позволяет освободить место в локальной базе данных SQL Server Compact 4.0. Этот метод может также использоваться для изменения порядка сопоставления, параметров шифрования и пароля базы данных.

Примечание

Если в строке соединения с целевой базой данных пароль явно не задан, то результирующая база данных будет не зашифрована, независимо от того, была ли зашифрована исходная.

Синтаксис

object.CompactDatabase(SourceConnection, DestConnection)

Параметры

Параметр

Описание

SourceConnection

Строковое значение, задающее соединение с исходной базой данных, которую требуется сжать. Если база данных, указанная в строке SourceConnection, уже открыта, возникает ошибка

DestConnection

Строковое значение, задающее соединение с конечной базой данных, которая создается при сжатии. Если база данных, указанная в строке DestConnection, уже существует либо существует файл с тем же именем, возникает ошибка

Пример

HRESULT CompactDatabase(BSTR SourceConnection, BSTR DestConnection);

Замечания

Параметры SourceConnection и DestConnection задают свойства исходной и конечной баз данных. В таблице перечислены свойства соединения, которые можно указать для каждого параметра. Все остальные свойства соединения не учитываются.

Свойство

Описание

Provider

Служит для указания имени поставщика, с помощью которого устанавливается соединение с источником данных. Если свойство не задано, используется поставщик OLE DB для SQL Server Compact 4.0. Если в исходной и конечной строках заданы разные имена поставщиков, возникает ошибка

Data Source

Служит для указания имени базы данных. Это свойство является обязательным для сведений о соединении с исходной и конечной базой данных.

Locale Identifier

Служит для указания идентификатора локали (LCID) для новой базы данных. Если он не задан, у конечной базы данных будет тот же LCID, что и у исходной.

Свойство Locale Identifier задает порядок сопоставления для сравнения строк в базе данных

SSCE:Database Password

Служит для указания пароля, если база данных имеет парольную защиту. Если исходная база данных защищена паролем, то этот пароль следует указать. Если этот параметр не указан в строке DestConnection , новая база данных не будет зашифрована. Если необходимо снять парольную защиту с конечной базы данных, то в качестве пароля задается пустая строка. Если в качестве пароля задана пустая строка, база данных не будет зашифрована. Длина пароля базы данных — до 40 знаков.

SSCE:encryption mode

or

encryption mode

Это свойство может принимать перечисленные ниже значения.

engine default

или

platform default

Значение по умолчанию равно platform default.

SSCE:Temp File Directory

Служит для указания расположения временной базы данных. Если этот параметр пропущен в строке DestConnection , то расположение текущей базы данных используется для размещения временной базы данных.

ssce: case sensitive

Логическое значение, определяющее, учитывает ли база данных регистр. При значении true учет регистра включен, при значении false — отключен. Если значение не задано, то действует значение по умолчанию — false.

ПримечаниеПримечание
Это свойство введено в выпуск SQL Server Compact 3.5 с пакетом обновления 1 (SP1). Дополнительные сведения см. в разделе Работа с параметрами сортировки (SQL Server Compact).

Значения кода языка и стандартов поддерживаются. В качестве значения Locale Identifier идентификатор локали LCID. Список уникальных значений кода языка см. в разделе Поддерживаемые параметры сортировки (SQL Server Compact). Необходимо, чтобы локаль поддерживалась на устройстве, на котором создается база данных.

Если при создании базы данных код LCID не указан, то SQL Server Compact 4.0 использует локаль. В этом состоит отличие от предыдущих версий, в которых в таких случаях всегда использовалась локаль английского языка.

Важно!

При непредвиденном завершении приложения до завершения операции Compact в системе остается временный файл базы данных. Этот файл имеет имя <имя_файла>pack.sdf, и его необходимо удалить вручную.

См. также

Справочник

Свойство ErrorRecords (SQL Server Compact)

Другие ресурсы

Программирование объекта Engine (SQL Server Compact)