--------------------------------------------------------- Microsoft ActiveX(R) Data Objects Extensions для языка DDL и безопасности. Файл Readme. --------------------------------------------------------- (c) Корпорация Microsoft, 1998. Все права защищены. Этот документ содержит сведения, дополняющие документацию Microsoft по объектам ADOX (ADO Extensions - Расширения ADO) для языка DDL и безопасности. ---------- СОДЕРЖАНИЕ ---------- 1. ОПИСАНИЕ ПРОДУКТА 2. ВОЗМОЖНОСТИ 3. ТЕХНИЧЕСКИЕ ЗАМЕЧАНИЯ 4. ИЗВЕСТНЫЕ ОШИБКИ, ОГРАНИЧЕНИЯ И РЕКОМЕНДАЦИИ -------------------- 1. ОПИСАНИЕ ПРОДУКТА -------------------- Объекты ADOX (ActiveX(r) Data Objects Extensions - Расширения объектов данных ActiveX) для языка DDL и безопасности дополняют объекты ADO и программную модель в целом. В число объектов ADOX входят объекты создания и изменения схемы, а также объекты обеспечения безопасности. Объектно-ориентированный подход к работе со схемой позволяет писать код, который работает независимо от различий источников данных и несмотря на различия их собственного синтаксиса. -------------- 2. ВОЗМОЖНОСТИ -------------- Библиотека объектов ADOX представляет собой дополнение к базовым объектам ADO. В библиотеку входят объекты для создания, изменения и удаления объектов программы, таких как таблицы и процедуры. В нее также входят объекты обеспечения безопасности, поддержки пользователей и групп, назначения разрешений объектам. ------------------------ 3. ТЕХНИЧЕСКИЕ ЗАМЕЧАНИЯ ------------------------ 3.1 Необходимые/необязательные свойства таблиц, индексов и столбцов. Не все свойства таблицы, индекса и столбца могут поддерживаться службой доступа. Ошибка будет возникать, если имеется набор значений для свойства, которое не поддерживается службой доступа. Для новых таблиц, индексов или столбцов ошибка будет возникать при добавлении объекта в семейство. Для существующих объектов ошибка будет возникать при установке свойства. При создании объекта таблицы, индекса или столбца, существование соответствующего значения по умолчанию для необязательного свойства не гарантирует, что это свойство поддерживается службой доступа. Подробнее о том, какие свойства поддерживаются службой доступа, см. документацию на службу доступа. 3.2 Использование объектов ADOX со службой доступа Microsoft OLE DB Некоторые функции объектов ADOX могут быть недоступны в зависимости от используемой службы доступа OLE DB. Объекты ADOX полностью поддерживаются службой доступа Microsoft OLE DB для машины баз данных Microsoft Jet Database Engine. О службе доступа Microsoft SQL Server OLE DB, Microsoft OLE DB для ODBC или Microsoft OLE DB для Oracle см. ниже. Другими службами доступа Microsoft OLE DB объекты ADOX не поддерживаются. Служба доступа Microsoft SQL Server OLE DB Поддерживаются все объекты ADOX, семейства, свойства и методы за исключением перечисленных ниже. Каталог: Метод Create. Таблицы: Свойства существующих таблиц доступны только для чтения (свойства новых таблиц можно читать и изменять). Представления: Не поддерживается. Процедуры: Метод Append, метод Delete, свойство Command. Ключи: Метод Append, метод Delete. Пользователи: Не поддерживается. Группы: Не поддерживается. Служба доступа Microsoft OLE DB для ODBC Поддерживаются все объекты ADOX, семейства, свойства и методы за исключением перечисленных ниже. Каталог: Метод Create. Таблицы: Свойства существующих таблиц доступны только для чтения (свойства новых таблиц можно читать и изменять). Представления: Метод Append, метод Delete, свойство Command. Процедуры: Метод Append, метод Delete, свойство Command. Индексы: Метод Append, метод Delete. Ключи: Метод Append, метод Delete. Пользователи: Не поддерживается. Группы: Не поддерживается. Служба доступа Microsoft OLE DB для Oracle Поддерживаются все объекты ADOX, семейства, свойства и методы за исключением перечисленных ниже. Каталог: Метод Create. Таблицы: Метод Append, метод Delete. Свойства существующих таблиц доступны только для чтения (свойства новых таблиц можно читать и изменять). Представления: Метод Append, метод Delete, свойство Command. Процедуры: Метод Append, метод Delete, свойство Command. Индексы: Метод Append, метод Delete. Ключи: Метод Append, метод Delete. Пользователи: Не поддерживается. Группы: Не поддерживается. ----------------------------------------------- 4. ИЗВЕСТНЫЕ ОШИБКИ, ОГРАНИЧЕНИЯ И РЕКОМЕНДАЦИИ ----------------------------------------------- Ниже приведен список известных ошибок в объектах ADOX. 4.1 Свойства DateCreated и DateModified требует вызова метода Refresh Значения свойств DateCreated и DateModified для вновь добавленных объектов равны NULL. После добавления нового объекта View или Procedure необходимо вызвать метод Refresh из семейства Views или Procedures для получения значений свойств DateCreated и DateModified. 4.2 Для объектов Index отсутствует свойство ParentCatalog В справке по объектам ADOX по ошибке указано свойство ParentCatalog для объекта Index. На самом деле ParentCatalog является свойством объектов Column и Table. 4.3 Значение adAccessRevoke переопределяет параметр Rights метода SetPermissions При вызове метода SetPermissions объекта Group или User установка значения adAccessRevoke для параметра Actions переопределяет любые значения параметра Rights. Чтобы права, заданные в параметре Rights, имели силу, не следует присваивать параметру Actions значение adAccessRevoke. 4.4 Параметр RelatedColumn метода Append (семейство Keys) В описании метода Append семейства Keys должен быть указан четвертый необязательный параметр RelatedColumn. Правильный синтаксис следующий: Keys.Append Key [, KeyType] [, Column] [, RelatedTable] [, RelatedColumn] Параметр RelatedColumn необязательный. Значение RelatedColumn является строкой, содержащей имя связанного столбца для внешнего ключа. Параметр RelatedTable может соответствовать значению свойства Name объекта Column. 4.5 Значение adIndexNullsAllow свойства IndexNulls В описании свойства IndexNulls объекта Index в таблице допустимых значений должна быть указана еще одна константа перечисления: adIndexNullsAllow В индексе могут содержаться записи, ключевые поля которых имеют значение Null. Если ключевое поле содержит значение Null, в индексе создается запись.