Шаг 90 - Свойство BatchSize

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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 17.03.2002