Транзакции

Тема в разделе "Остальные БД", создана пользователем Guest, 21 мар 2005.

Статус темы:
Закрыта.
  1. Guest

    Guest Гость

    Репутация:
    0
    База ацевская, подключаюсь через DAO. Как сделать чтобы несколько пользователей могли изменять определенную запись.
    Попробовал сделать одновременное обращение к базе на изменение (запускал два экзешника и пока первый не закончил работу обращался к базе из второго)
    Второй экзешник ругается: "Обновление невозможно; блокировка установлена пользователем <имя> на машине <имя>. (Ошибка 3260)"
    Мне нужно чтобы изменения вызванные вторым экзешником тоже учитывались. Вроде бы нужно в таких ситуациях применять транзакции (а может и нет), но я признаюсь - в них не шарю .
    Подскажите пожалуйста как быть, буду признателен за пример кода.
    Вот код проекта, который я дважды запускал на исполнение:

    Visual Basic:

    Код:
    Private Sub Command1_Click() 
    ProgressBar1.Min = 1 
    ProgressBar1.Max = 10000 
    ProgressBar1.Visible = True 
    On Error GoTo errhndl 
    Set db = OpenDatabase(App.Path + "\" + "mmm.mdb", False) 
    Set rs = db.OpenRecordset("обращений") 
    rs.MoveFirst 
    For i = 1 To 10000 
    rs.Edit 
    f = rs("раз") 
    rs("раз") = f + CInt(i) 
    ProgressBar1.Value = i 
    DoEvents 
    rs.Update 
    Next i 
    rs.Close 
    db.Close 
    ProgressBar1.Visible = False 
    exit sub 
    errhndl: 
    MsgBox (Err.Number) 
    End Sub
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Транзакции тут не совсем к месту...

    На самом деле это большая проблема - одна из её ветвей потерянные обновления: Например пользователь 1 и 2 обратились к записи в состоянии 1. Потом пользователь 1 изменил запись и перевёл её в состояние 2, после этого пользователь 2 изменил запись и перевёл её в состояние 3. В результате изменения внесённые пользователем 1 были утеряны.

    Насколько мне известно MS Access не предоставлет механизма одновременного редактирования одной записи несколькими пользователями. Если Вам это требуется то нужный механизм следует реализовывать на уровне приложения.
     
  3. Guest

    Guest Гость

    Репутация:
    0
    пасиб
     
Загрузка...
Похожие Темы - Транзакции
  1. Истребитель
    Ответов:
    4
    Просмотров:
    5.512
Статус темы:
Закрыта.

Поделиться этой страницей