Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> контролирование Базы даных, как контролировать изминения в БД 
:(
    Опции темы
Gannibal
  Дата 20.12.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



допустим есть база данных на MySQL кто нибудь туда запишет, удалит, или исправит её, а при запуске програмы бы желательно узнать какие были произведены изминения в БД и выписать в лог файл? можете кто идеей подсказать? smile


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Akina
Дата 20.12.2005, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



В общем случае никак.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Gannibal
Дата 20.12.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



Цитата(Akina @ 20.12.2005, 17:32)
В общем случае никак.


а если не в общем случии? есть идеии как реализовать?
Добавлено @ 18:38
а по дате?? если?? создавать лог фаил? кде будет записано изминения когда проицходили например.. потом сравнивать? .. главное скорость вобощето smile 3 гиговая база данных


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Exception
Дата 20.12.2005, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Хм.. Насколько я знаю, в SQL есть такие вещи, как триггеры. Поставь триггер на изменение данных в нужной таблице, который пишет об изменении в спецтаблицу. Но я в этом совершенно не уверен. Спроси в разделе по БД
PM   Вверх
Akina
Дата 20.12.2005, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(Run @ 20.12.2005, 19:42)
Насколько я знаю, в SQL есть такие вещи, как триггеры.

в MySQL с этим напряженка.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Gannibal
Дата 21.12.2005, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



так остаёться сделать тогда програму которои я буду записывать данные в БД а там ои ети новые запишуться в другое место куда нибудь .. и всё наверное так лучше будет я думаю или нет? просто БД от 3 до 5 гигабайт вот проблема с временим хотелось бы чтобы побыстрее работало всётаки


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Akina
Дата 21.12.2005, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



То о чем ты говоришь называется журнал. Или лог транзакций - в терминах MS SQL. Весьма, кстати, разумная вещь.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Gannibal
Дата 21.12.2005, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



можно поподробнее о МС СКВЛ?


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Exception
Дата 21.12.2005, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Что именно о нем ты хочешь узнать?
PM   Вверх
Gannibal
Дата 22.12.2005, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



как работать с МС СКВЛ через ВБ6, и как с ним вообще работаеться, какие возможности есть.. и так далее чем больше инфы тем лучше


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Exception
Дата 22.12.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Смотря какой. Вообще с MSSQL лучше и проще работать из дотнета. Особенно с 2005 - там даже хранимые процедуры можно писать на C#/VB.NET...
PM   Вверх
Voldemar2004
Дата 22.12.2005, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(M @ 20.12.2005, 17:45)
допустим есть база данных на MySQL кто нибудь туда запишет, удалит, или исправит её,
M.E.G.U.S, вот моя идея: предлагаю сделать текстовый лог-файл со структурой, аналогичной структуре полей в БД: допустим у тебя есть 10 полей и 20 строк - запишем в текстовый файл что-то типа:

поле1: строка1....до n=20
....
поле10:строка1....до n=20
Код
Option Explicit

Private Sub Command1_Click()
Dim my As String, fname As String
my = FreeFile

    fname = "d:\file_making date_" & Replace(Time, ":", "_") & ".log"

    Open fname For Append As my
        'поле1: строка1....до n=20 
        '....
        'поле10:строка1....до n=20
    Close #my

End Sub
Везде, где пользователь будет делать изменения (удалять/добавлять и т.п.) - все эти изменения будут записываются в такой же лог-файл с аналогичной структурой
Цитата
поле1: строка1....до n=20
....
поле10:строка1....до n=20
Но тут есть одна хитрость - в лог-файле надо как-то помечать уникальным идентификатором, который не пересекался бы с данными в реальной БД - разделение строк/столбцов, что-то наподобие вот этого:
Цитата
поле1#строка1*Имя*Фамилия*Отчество*Дата
Далее сравниваем текстовые файлы:например сделаем первичный лог-файл: занесем в него всю информацию из БД,
потом создадим второй лог-файл, но в него будем заносить только ту информацию, для которой произошли изменения - какие-то ячейки юзер поправил/удалил
Цитата
поле6#строка18*Имя*Дата
Сравниваем эти файлы.

P.S. Чисто моя идея. smile


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Akina
Дата 22.12.2005, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Voldemar2004
Боюсь, от такого лога сервер быстро станет трупом по причине исчерпания пространства...

M.E.G.U.S
Когда мне пришлось самостоятельно организовывать журнал работы (это лет 10 назад) - я пошел путем добавления в базу 3 полей. Т.е. была структура типа ID и данные, добавились NextID, DateTime и Operator. Изначально эти поля были пусты. Но любые исправления и удаления всегда приводили к копированию измененного состояния записи в новую запись, а в старой просто ставилось в доп. полях, когда, кем внесены изменения и какой ID следующего состояния записи (-1 означало что запись удалена). Рабочие записи выбирались дополнительным условием отбора NextID=0, а чтобы база сильно гне пухла, периодически записи с NextID<>0 переносились в базу архива (и только при этом физически удалялись из рабочей базы). Посколько % корректировки составлял порядка 0.1% в день - схема была весьма жизнеспособна.

Правда, было одно маленькое НО - с этой базой невозможно было работать минуя мою математику.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Voldemar2004
Дата 24.12.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(Akina @ 22.12.2005, 23:10)
Боюсь, от такого лога сервер быстро станет трупом по причине исчерпания пространства...
Первый лог-файл создается раз и навсегда, второй лог-файл - первый раз при прогоне БД - в остальном случае использовать метод произвольного доступа к лог-файлу и поправлять только те места, где произошли изменения.

Хотя, имхо, для работы с такой БД размером в 3 Гб даже самый скоростной метод отслеживания изменений будет еле ползать.



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.