Выполнение транзакций


Транзакцией называется операция обмена данными между клиентом и сервером. Методы объекта Workspace, использующиеся для выполнения транзакций, представлены в.
Методы объекта Workspace для выполнения транзакций

Метод

Описание

BeginTrans

Обозначает начало транзакции. Транзакции могут быть вложенными

CommitTrans

Обозначает конец транзакции. В этот момент все изменения сохраняются в источнике без возможности их отмены

RollBack

Завершение транзакции и отмена результата ее выполнения. Записи в источнике возвращаются в прежнее состояние, отмеченное командой BeginTrans

Все базы данных, открытые в рабочей области, имеют общую область действия транзакций. Это значит, что действие методов BeginTrans, CommitTrans и RollBack объекта Workspace распространяется на все базы данных в семействе Databases объекта Workspace.
Рассмотрим пример программы на VBA с использованием механизма выполнения транзакций (программа 16.11). В приложении "Игра в доминирование" механизм транзакций не используется.
Программа 16.11. Применение механизма транзакций
Sub ResetCount ()
Dim ws As Workspace
Dim db As Database
Dim rs As Recordset
Dim flnTrans As Boolean
On Error GoTo errHandler ;..
flnTrans = False ‘ Транзакция еще не началась
Set ws = DBEngine.Workspaces(0)
Set db = CurrentDb
Set rs = db.OpenRecordset("Игроки", dbOpenTable)
ws.BeginTrans ‘ Начало транзакции
flnTrans = True ‘ ‘ Транзакция началась
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs!Счет = 0
rs.Update
rs.MoveNext
Loop If
MsgBox("Сохранить сделанные изменения?", _
vbQuestion + vbYesNo, "Вопрос") = vbYes Then
ws.CommitTrans ‘ Сохранить изменения Else
ws.Rollback ‘ Отменить изменения
End If
exitHandle: rs.Close
Set db = Nothing
Set ws = Nothing
Exit Sub errHandler:
MsgBox "Ошибка!"
‘ Если ошибка возникла в процессе выполнения транзакции,
‘ отменяем сделанные изменения
If flnTrans Then
ws.Rollback
End If
Resume exitHandle
End Sub
 
Защита сетевого приложения Access
Выбор политики защиты и установка защиты — предмет разработки приложения. А настройка схемы защиты приложения в соответствии с текущими потребностями в процессе использования приложения — задача администрирования. Администратор управляет составом пользователей и групп пользователей приложения и предоставляет им необходимые права доступа к объектам приложения по мере необходимости. Разработчик приложения предварительно определяет политику защиты приложения, выполняет установку защиты приложения и подготавливает приложение к использованию — определяет начальный состав пользователей и групп пользователей приложения и выполняет начальное распределение между ними прав доступа к объектам приложения. Таким образом, в процессе установки защиты приложения разработчик, помимо прочих действий, в определенный момент выполняет функции администратора.
Действия, которые выполняет администратор защищенного приложения, описаны . В этой главе мы расскажем о действиях, выполняемых разработчиком, связанных с установкой защиты и определением политики защиты приложения.
Определение политики защиты включает решение следующих вопросов:

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

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