Описание
Задает или возвращает число инструкций, посылаемых на сервер в
каждом пакете (только в рабочей области 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