Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_One я вам толкую о том, что транзакции как раз и применяются при многопользовательской работе с базой, чтобы исключить ситуации с колизиями вставки/обновления/удаления данных одновременно разными пользователями. Да у него не с коллизиями проблема. Ему просто требуется отслеживать изменения внесенные не только разными пользователями, но и разными способами. tutti-fruttiКороче триггеры в настоящих СУБД суперская штука. И все же я опять поспорю. Нужно централизовать изменения БД вместо того, чтобы разбрасывать их по коду и потом ловить триггерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 15:58 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Onetutti-fruttiKonst_Oneв реляционных базах данных есть специальная возможность - транзакция. поищите тут или в гугле примеры как правильно это делать в рамках акцесса по словам BeginTrans, CommitTrans Транзакции в аксе я немного пользую (там где нужно "обрамить" группу операторов сиквела и выполнить их либо все либо ни одного) но сейчас я говорил немного о другом. я вам толкую о том, что транзакции как раз и применяются при многопользовательской работе с базой, чтобы исключить ситуации с колизиями вставки/обновления/удаления данных одновременно разными пользователями. транзакции мне в аксе доступны исключительно сквозь программную модель, а работать с таблицами могут и формы и запросы и связи. Все равно спасибо за помощь, я даже в некотором шоке от желания и стремления помочь. Вот по правде говоря, я бы даже и знал ответ на вопрос а не написал бы. Лень:( Но я беру на себя обязательство взамен на вашу мне помощь, помочь нескольким людям. Пусть моя помощь будет совсем плевая, но я обещаю стараться:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 15:59 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
вопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 15:59 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneвопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? http://www.sql.ru/forum/actualthread.aspx?tid=764895#8897612 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:03 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneвопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? уже написал. Сделал так: триггер "висит" на таблице(ах) в моменты изм. добавления записей вызывается подпрограмма ,которая виксит в логе изменения. По значениям полей до и после измененй можно выяснить что именно произошло. потом на формах пользователей, где нужен контроль за изм. в этих таблицах обрабатываю таймер раз в 2 секи. вычисляю есть ли изменения в таблице логе и если есть обновляю формы пользователя. Выглядит это так: Есть юзер А, который изменяет статус доставки товара (например), у сетевого юзера Б на форме грубо говоря отображаются изменения. ну типа того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:06 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneвопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? http://www.sql.ru/forum/actualthread.aspx?tid=764895#8897612 я это уже видел, но так и не понял ЗАЧЕМ отслеживать изменения??? это всё решается обычным способом в клиентской части приложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:07 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
tutti-fruttiKonst_Oneвопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? уже написал. Сделал так: триггер "висит" на таблице(ах) в моменты изм. добавления записей вызывается подпрограмма ,которая виксит в логе изменения. По значениям полей до и после измененй можно выяснить что именно произошло. потом на формах пользователей, где нужен контроль за изм. в этих таблицах обрабатываю таймер раз в 2 секи. вычисляю есть ли изменения в таблице логе и если есть обновляю формы пользователя. Выглядит это так: Есть юзер А, который изменяет статус доставки товара (например), у сетевого юзера Б на форме грубо говоря отображаются изменения. ну типа того. такое ощущение, что ваша программа работает с грязным-чтением постоянно. Вы слышали про блокировки? 1-й юзер начинает редактировать запись (запись блокируется для остальных), 2-й юзер увидит измение этой записи только после завершения транзакции 1-го пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:10 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_OneShocker.ProKonst_Oneвопрос: зачем отслеживать изменения, вносимые разными пользователями? пишите свой аудит, вам это точно надо? http://www.sql.ru/forum/actualthread.aspx?tid=764895#8897612 я это уже видел, но так и не понял ЗАЧЕМ отслеживать изменения??? это всё решается обычным способом в клиентской части приложения На клиентской это и решается, только отслеживаются не изменения в таблицах, а изменения в журнале изменений. Таким образом я перенес логику по обработке и анализу изменений с клиента на сервер на сервер (грубо говоря) и при этом сосредоточил ее в одном месте.ЧТо-то не так? Да фик с ним, есть вещи и поважнее. Если ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:12 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneтакое ощущение, что ваша программа работает с грязным-чтением постоянно. Вы слышали про блокировки? 1-й юзер начинает редактировать запись (запись блокируется для остальных), 2-й юзер увидит измение этой записи только после завершения транзакции 1-го пользователя. Да откуда ты это берешь? Нет у него никаких коллизий и грязных чтений. Обычная многопользовательская работа, где у каждого юзера должны быть актуальные данные, вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:16 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneтакое ощущение, что ваша программа работает с грязным-чтением постоянно. Вы слышали про блокировки? 1-й юзер начинает редактировать запись (запись блокируется для остальных), 2-й юзер увидит измение этой записи только после завершения транзакции 1-го пользователя. Да откуда ты это берешь? Нет у него никаких коллизий и грязных чтений. Обычная многопользовательская работа, где у каждого юзера должны быть актуальные данные, вот и все. ну так я и говорю про это. неужели все лезут в дебри аудита лишь для того чтобы в комбобоксе справочника обновить данные? я вами разочарован ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:18 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneну так я и говорю про это. неужели все лезут в дебри аудита лишь для того чтобы в комбобоксе справочника обновить данные? я вами разочарован ;( Лишь для того. Насколько я понял автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:19 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneну так я и говорю про это. неужели все лезут в дебри аудита лишь для того чтобы в комбобоксе справочника обновить данные? я вами разочарован ;( Лишь для того. Насколько я понял автора. у автора топика явный просчёт в проектировании клиента, если у него такие вопросы вдруг возникли. значит он не продумал решение при многопользовательской работе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:21 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneу автора топика явный просчёт в проектировании клиента, если у него такие вопросы вдруг возникли. значит он не продумал решение при многопользовательской работе. А как ты бы предложил? Я может чего у аксесса не знаю... Есть форма. В ней сидят два пользователя на двух компах. Работают с одним представлением из нескольких таблиц. Вносят в него изменения. Отсутствие коллизий обеспечено транзакциями. Как сделать, чтобы у каждого пользователя оперативно отражались изменения в таблицах, внесенные другим пользователем (не рассматриваем вопрос редактирования одной и той же записи) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:24 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneну так я и говорю про это. неужели все лезут в дебри аудита лишь для того чтобы в комбобоксе справочника обновить данные? я вами разочарован ;( Лишь для того. Насколько я понял автора. перекуси меня зубастая акула. не только для того! я сам того не подозревая построил страшненькую, кривенькую и не совсем полноценную модель клиент сервер. Клиент лишь вносит данные в таблицы, все что приходит ему в ответ на его действия создано серверной стороной. Я по своей сути ленив, алчен и сладкоежка, но однажды (под настроение) я вам расскажу, как решил проблему с базой на одном гос. предприятии. Там было оч. много источников входных данных (пользователи и электроника) . Уверен ,что сама идея снимет с меня тяжкий груз (по крайней мере) ответственности за пристрастие к сладкому.. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:26 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneу автора топика явный просчёт в проектировании клиента, если у него такие вопросы вдруг возникли. значит он не продумал решение при многопользовательской работе. А как ты бы предложил? Я может чего у аксесса не знаю... Есть форма. В ней сидят два пользователя на двух компах. Работают с одним представлением из нескольких таблиц. Вносят в него изменения. Отсутствие коллизий обеспечено транзакциями. Как сделать, чтобы у каждого пользователя оперативно отражались изменения в таблицах, внесенные другим пользователем (не рассматриваем вопрос редактирования одной и той же записи) я уже предложил юзать транзакции, но кажется, что никто не в курсе как это делается если 1-й юзер открыл транзакцию и что-то правит и одновременно 2-й юзер делает тоже самое, то кто первый закоммитит, та запись и окажется в базе, 2-й же получит ошибку при коммите своей транзакции и сделается откат изменений, после этого просто следует обновить данные по этой записи и увидеть изменения , внесённые транзакией первого юзера. всё, вуаля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:28 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
tutti-fruttiShocker.ProЛишь для того. Насколько я понял автора. перекуси меня зубастая акула. не только для того! Та не.... я имел ввиду, что проблема состоит только в актуализации данных. Проблему одновременного редактирования разными пользователями одной записи мы не рассматриваем. Только это я имел ввиду. И как понял, Костя пытался ответить не на тот вопрос, от чего я и пытаюсь его предостеречь и не запутать тебе мозх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:29 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneесли 1-й юзер открыл транзакцию и что-то правит и одновременно 2-й юзер делает тоже самое, то кто первый закоммитит, та запись и окажется в базе, 2-й же получит ошибку при коммите своей транзакции Для этого 2-й пользователь должен попытаться закоммитить, а как он узнает о том, что это пора сделать? Пользователь может просто сидеть перед монитором и курить бамбук, а в это время на экране у него будут появляться свежие записи. А открывать-закрывать транзакцию каждые две секунды десятью пользователями - это глупо. ldb-файл лопнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:33 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Лан, спасибо всем за помощь и советы! Я уже говорил или нет, что настоящий талант щедрый по натуре, и в этом самом смысле вы с Константином ОЧ. одаренные программисты. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:33 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneесли 1-й юзер открыл транзакцию и что-то правит и одновременно 2-й юзер делает тоже самое, то кто первый закоммитит, та запись и окажется в базе, 2-й же получит ошибку при коммите своей транзакции Для этого 2-й пользователь должен попытаться закоммитить, а как он узнает о том, что это пора сделать? Пользователь может просто сидеть перед монитором и курить бамбук, а в это время на экране у него будут появляться свежие записи. А открывать-закрывать транзакцию каждые две секунды десятью пользователями - это глупо. ldb-файл лопнет и зачем тогда ваш 2-й юзер лицезреет эту форму? если эта форма - некий инструмент мониторинга, то и делайте её рефреш по таймеру! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:34 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
tutti-fruttiЛан, спасибо всем за помощь и советы! Я уже говорил или нет, что настоящий талант щедрый по натуре, и в этом самом смысле вы с Константином ОЧ. одаренные программисты. Спасибо! Ты иди... мы тут еще подеремся пока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:35 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.Protutti-fruttiЛан, спасибо всем за помощь и советы! Я уже говорил или нет, что настоящий талант щедрый по натуре, и в этом самом смысле вы с Константином ОЧ. одаренные программисты. Спасибо! Ты иди... мы тут еще подеремся пока да в общем то и драться не собирались, так обсудили варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:36 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneи зачем тогда ваш 2-й юзер лицезреет эту форму? если эта форма - некий инструмент мониторинга, то и делайте её рефреш по таймеру! Это не я, это автор задачу поставил. Рефреш делать глупо - он жрет ресурсы больше, чем просто проверка, что появились/изменились записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:37 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_Oneи зачем тогда ваш 2-й юзер лицезреет эту форму? если эта форма - некий инструмент мониторинга, то и делайте её рефреш по таймеру! Это не я, это автор задачу поставил. Рефреш делать глупо - он жрет ресурсы больше, чем просто проверка, что появились/изменились записи. для акса есть замечательный серверный динамический курсор, который всё это умеет сам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:37 |
|
||
|
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
|
|||
|---|---|---|---|
|
#18+
Konst_Oneдля акса есть замечательный серверный динамический курсор, который всё это умеет сам а можно ли поставить динамический серверный курсор на заджойненную/сгруппированную/илиещечегонить группу таблиц? Вряд ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36673634&tid=2159685]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 134ms |

| 0 / 0 |
