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


Служба курсора (Майкрософт) для OLE DB (компонент службы ADO)

Область применения: Access 2013, Office 2013

Служба курсоров Майкрософт для OLE DB дополняет функции поддержки курсоров поставщиков данных. В результате пользователь воспринимает относительно единообразные функциональные возможности всех поставщиков данных.

Служба курсоров предоставляет динамические свойства и улучшает поведение определенных методов. Например, динамическое свойство Optimize позволяет создавать временные индексы для упрощения определенных операций, таких как метод Find .

Служба курсоров обеспечивает поддержку пакетного обновления во всех случаях. Он также имитирует более функциональные типы курсоров, например динамические курсоры, когда поставщик данных может предоставлять только менее способные курсоры, например статические курсоры.

Ключевое слово

Чтобы вызвать этот компонент службы, присвойте свойствуRecordset или Connection объекта Connection значение adUseClient.

connection.CursorLocation=adUseClientrecordset.CursorLocation=adUseClient

Динамические свойства

При вызове службы курсоров для OLE DB в коллекцию Свойств объекта Recordset добавляются следующие динамические свойства. Полный список динамических свойств объекта Connection и Recordset указан в индексе динамических свойств ADO. Связанные имена свойств OLE DB при необходимости включаются в круглые скобки после имени свойства ADO.

Изменения некоторых динамических свойств не видны базовому источнику данных после вызова службы курсоров. Например, задание свойства "Время ожидания команды " для набора записей не будет отображаться для базового поставщика данных.

... 
Recordset1.CursorLocation = adUseClient 'invokes cursor service 
Recordset1.Open "authors", _ 
 "Provider=SQLOLEDB;Data Source=DBServer;User Id=usr;" & _ 
 "Password=pwd;Initial Catalog=pubs;",,adCmdTable 
Recordset1.Properties.Item("Command Time out") = 50 
' 'Command Time out' property on DBServer is still default (30). 
... 

Если приложению требуется служба курсоров, но необходимо задать динамические свойства для базового поставщика, задайте свойства перед вызовом службы курсоров. Параметры свойств объекта команд всегда передаются базовому поставщику данных независимо от расположения курсора. Таким образом, можно также использовать объект команды для задания свойств в любое время.

Примечание.

Динамическое свойство DBPROP_SERVERDATAONINSERT не поддерживается службой курсоров, даже если оно поддерживается базовым поставщиком данных.

Имя свойства

Описание

Автоматический пересчет
(DBPROP_ADC_AUTORECALC)

Для наборов записей, созданных с помощью службы формирования данных, это значение указывает, как часто вычисляются вычисляемые и агрегатные столбцы. Значение по умолчанию (value=1) выполняется повторно каждый раз, когда служба формирования данных определяет, что значения были изменены. Если значение равно 0, вычисляемые или агрегатные столбцы вычисляются только при первоначальном построении иерархии.

Размер пакета
(DBPROP_ADC_BATCHSIZE)

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

Кэш дочерних строк
(DBPROP_ADC_CACHECHILDROWS)

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

Версия обработчика курсоров
(DBPROP_ADC_CEVER)

Указывает версию используемой службы курсоров.

Сохранение состояния изменения
(DBPROP_ADC_MAINTAINCHANGESTATUS)

Указывает текст команды, используемой для повторной синхронизации одной или нескольких строк в соединении с несколькими таблицами.

Оптимизация

Указывает, следует ли создать индекс. Если задано значение True, разрешает временное создание индексов для улучшения выполнения определенных операций.

Изменение имени

Указывает имя набора записей. Можно ссылаться в текущих или последующих командах формирования данных.

Команда resync

Указывает настраиваемую командную строку, используемую методом Resync при действии свойства Unique Table .

Уникальный каталог

Указывает имя базы данных, содержащей таблицу, указанную в свойстве Unique Table .

Уникальная схема

Указывает имя владельца таблицы, на которое ссылается свойство Unique Table .

Уникальная таблица

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

Условия обновления
(DBPROP_ADC_UPDATECRITERIA)

Указывает, какие поля в предложении WHERE используются для обработки конфликтов, возникающих во время обновления.

Обновление resync(DBPROP_ADC_UPDATERESYNC)

Указывает, вызывается ли метод Resync неявно после метода UpdateBatch (и его поведения), если действует свойство Unique Table .

Вы также можете задать или извлечь динамическое свойство, указав его имя в качестве индекса для коллекции Properties . Например, получите и выведите текущее значение динамического свойства Optimize , а затем задайте новое значение, например следующее:

 
Debug.Print rs.Properties("Optimize") 
rs.Properties("Optimize") = True 

Встроенное поведение свойства

Служба курсоров для OLE DB также влияет на поведение некоторых встроенных свойств.

Имя свойства

Описание

CursorType

Дополняет типы курсоров, доступные для набора записей.

LockType

Дополняет типы блокировок, доступные для набора записей. Включает пакетные обновления.

Sort

Указывает одно или несколько имен полей, по которым отсортирован набор записей , и указывает, сортируется ли каждое поле по возрастанию или убыванию.

Поведение метода

Служба курсоров для OLE DB включает или влияет на поведение метода Append объекта Field; и методы Open, Resync, UpdateBatch и Save объекта Recordset.