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


Метод CompactDatabase (SQL Server Compact)

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

ms174034.note(ru-ru,SQL.100).gifПримечание.
Если в строке соединения с целевой базой данных пароль явно не задан, то результирующая база данных будет не зашифрована, независимо от того, была ли зашифрована исходная.

Синтаксис

object.CompactDatabase(SourceConnection, DestConnection)

Параметры

Параметр Описание

SourceConnection

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

DestConnection

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

Пример

HRESULT CompactDatabase(BSTR SourceConnection, BSTR DestConnection);

Замечания

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

Свойство Описание

Provider

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

Data Source

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

Locale Identifier

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

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

SSCE:Database Password

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

SSCE:encryption mode

or

encryption mode

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

engine default

или

platform default

или

ppc2003 compatibility

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

SSCE:Encrypt Database

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

ms174034.note(ru-ru,SQL.100).gifПримечание.
Если задано свойство SSCE:Database Password, то база данных будет зашифрована независимо от значения свойства SSCE:Encrypt Database.

SSCE:Temp File Directory

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

ssce: case sensitive

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

ms174034.note(ru-ru,SQL.100).gifПримечание.
Это свойство введено в SQL Server Compact 3.5. Дополнительные сведения см. в разделе Работа с параметрами сортировки (SQL Server Compact).

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

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

Важно!

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

См. также

Справочник

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

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

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

Справка и поддержка

Получение помощи (SQL Server Compact 3.5 с пакетом обновления 1)