Метод CompactDatabase (SQL Server Compact)
Метод CompactDatabase позволяет освободить место в локальной базе данных SQL Server Compact 3.5. Этот метод может также использоваться для изменения порядка сопоставления, параметров шифрования и пароля базы данных.
![]() |
---|
Если в строке соединения с целевой базой данных пароль явно не задан, то результирующая база данных будет не зашифрована, независимо от того, была ли зашифрована исходная. |
Синтаксис
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 — отменяет ![]()
Если задано свойство SSCE:Database Password, то база данных будет зашифрована независимо от значения свойства SSCE:Encrypt Database.
|
SSCE:Temp File Directory |
Служит для указания расположения временной базы данных. Если этот параметр пропущен в строке DestConnection , то расположение текущей базы данных используется для размещения временной базы данных. |
ssce: case sensitive |
Логическое значение, определяющее, учитывает ли база данных регистр. При значении true учет регистра включен, при значении false — отключен. Если значение не указано, по умолчанию используется значение false. ![]()
Это свойство введено в 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)