Описание
Задает или возвращает число инструкций, посылаемых на сервер в каждом пакете (только в рабочей области ODBCDirect).
Значение
Задаваемое или возвращаемое значение имеет тип данных Long и указывает число инструкций в пакете, посылаемых на сервер в одной операции пакетного обновления. Значением по умолчанию является 15.
Замечания
Свойство BatchSize определяет размер пакета, используемый при передаче инструкций на сервер в операции пакетного обновления. Значение данного свойства задает число инструкций, посылаемых на сервер в одном командном буфере. По умолчанию в каждом пакете на сервер посылается 15 инструкций. Значение этого свойства может быть изменено в любое время. Если сервер базы данных не поддерживает пакетную передачу инструкций, можно задать для этого свойства значение 1, приводящее к отправке каждой инструкции по отдельности.
Пример
Следующая программа использует свойства BatchSize и UpdateOptions для управления операциями пакетного обновления указанного объекта Recordset.
Sub BatchSizeX() Dim wrkMain As Workspace Dim conMain As Connection Dim rstTemp As Recordset Set wrkMain = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC) ' Это значение свойства DefaultCursorDriver ' требуется для пакетного обновления. wrkMain.DefaultCursorDriver = dbUseClientBatchCursor Set conMain = wrkMain.OpenConnection("Publishers", dbDriverNoPrompt, False, "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers") ' Следующее значение аргумента блокировки ' требуется для пакетного обновления. Set rstTemp = conMain.OpenRecordset( "SELECT * FROM roysched", dbOpenDynaset, 0, dbOptimisticBatch) With rstTemp ' Увеличивает число инструкций, отправляемых на сервер ' в одной операции пакетного обновления, что приводит ' к уменьшению количества обращений к серверу. .BatchSize = 25 ' Изменяет значение свойства UpdateOptions таким образом, ' чтобы предложение WHERE любой инструкции в пакете, ' отправленном на сервер включало все обновляемые ' столбцы в дополнение к ключевым столбцам. Кроме того, ' любые изменения записей выполняются путем удаления ' исходной записи и добавления измененной версии записи ' вместо простого изменения исходной записи. .UpdateOptions = dbCriteriaModValues + dbCriteriaDeleteInsert ' Выполняет пакетное обновление с использованием ' заданных выше настроек. ' ... .Close End With conMain.Close wrkMain.Close End Sub