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


Управление объектами базы данных с помощью OLE DB (SQL Server Compact)

Для изменения объекта в Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) необходимо, чтобы этот объект был открыт в монопольном режиме.

Изменение объектов

Все методы ITableDefinition открывают таблицы для монопольного доступа. Если таблица уже открыта другим методом, то при вызове метода ITableDefinition происходит сбой. Например, если пользователь попытался добавить в таблицу столбец с помощью функции ITableDefinition::AddColumn , когда для этой таблицы открыт курсор, попытка изменить определение столбца приведет к сбою с возникновением блокирующей ошибки. При проектировании приложения следует продумать вопросы блокировки, особенно при использовании транзакций.

Изменение столбцов

Некоторые сведения о столбцах можно также изменить с помощью функции IAlterTable::AlterColumn. Поскольку в столбцах больше изменяемых элементов, свойство DBPROP_ALTERCOLUMN служит для описания частей структуры DBCOLUMNDESC, определяющих столбец, который можно изменить. Однако даже если поставщик поддерживает изменение свойств, это не подразумевает, что можно изменить все свойства. Следующие свойства можно изменить с помощью поставщика данных OLE DB для SQL Server Compact 3.5.

  • DBPROP_COL_DEFAULT
  • DBPROP_COL_SEED (только в столбцах идентификаторов)
  • DBPROP_COL_INCREMENT (только в столбцах идентификаторов)

Изменение индексов и ограничений

Индексы и ограничения также можно изменять. Дополнительные сведения см. в разделах Индексы OLE DB (SQL Server Compact) и Ограничения OLE DB (SQL Server Compact).