Транзакции

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

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

    Guest Гость

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

    Visual Basic:

    Код (Text):
    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 Гость

    Транзакции тут не совсем к месту...

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

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

    Guest Гость

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

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