Шаг 40 - Свойство IsolateODBCTrans

Описание
Задает или возвращает значение, указывающее, являются ли независимыми множественные транзакции, использующие общий источник данных ODBC, подключенный к ядру Microsoft Jet (только в рабочей области Microsoft Jet).

Значение
Задаваемое или возвращаемое значение данного свойства имеет тип Boolean и содержит значение True при изоляции транзакций, использующих общее подключение ODBC. Значение False (по умолчанию) указывает, что такие транзакции не являются независимыми.

Замечания
В некоторых ситуациях возникает необходимо одновременно выполнить несколько транзакций для одного подключения ODBC. В этом случае следует открыть для каждой транзакции отдельный объект Workspace(рабочая область). Хотя для каждого объекта Workspace допускается собственное подключение к базе данных ODBC, это замедляет выполнение операций в базе данных. Поскольку разделение транзакций обычно не требуется, подключения к источникам ODBC из разных объектов Workspace, открытых одним пользователем, по умолчанию являются общими.

Некоторые серверы ODBC, такие как Microsoft SQL Server, не допускают одновременные транзакции при одном подключении. Если требуется одновременно выполнить несколько независимых транзакций для такой базы данных, следует задать значение True для свойства IsolateODBCTrans каждого объекта Workspace при его открытии. Это автоматически приведет к независимому подключению ODBC для каждого объекта Workspace.

Пример
Следующая программа открывает три рабочие области ODBCDirect и задает в них для свойства IsolateODBCTrans значение True, обеспечивая изоляцию множественных транзакций.

Sub IsolateODBCTransX()

	DBEngine.DefaultType = dbUseJet
	Dim wrkJet1 As Workspace
	Dim wrkJet2 As Workspace
	Dim wrkJet3 As Workspace
	' Открывает три рабочие области ODBCDirect для изоляции 
	' транзакций, использующих общий источник данных ODBC.
	Set wrkJet1 = CreateWorkspace("", "admin", "")
	wrkJet1.IsolateODBCTrans = True
	Set wrkJet2 = CreateWorkspace("", "admin", "")
	wrkJet2.IsolateODBCTrans = True
	Set wrkJet3 = CreateWorkspace("", "admin", "")
	wrkJet3.IsolateODBCTrans = True
	wrkJet1.Close
	wrkJet2.Close
	wrkJet3.Close

End Sub

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