Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 03.06.2012, 08:26   #1
Zuban
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию Перестала правильно работать БД

Не могу докопаться до корней следующей проблемы. С БД Парадокс работают две программы - одна на удаленной машине, а другая локальная по отношению к расположению базы. Это программы мониторинга, они заточены на отслеживание состояния одного поля таблицы. По таймеру производятся запросы TQuery, а пользователи могут инициировать изменения с помощью TQuery+TUpdateSQL и транзакций, изменения отображаются на экране. Настройки BDE ссылаются на один и тот же каталог БД.
В течение двух месяцев система работала без замечаний, но когда я добавил в одну из программ возможность редактирования таблиц БД посредством компонента TTable, изменения, сделанные с удаленного компьютера, перестали сохраняться в БД до тех пор, пока какое-либо изменение не будет произведено на локальнй машине.
Использование TTable я на всякий случай прекратил, но это уже не помогает.
Не могу понять, что происходит, и как вернуть систему в работоспособное состояние.
Zuban вне форума Ответить с цитированием
Старый 03.06.2012, 09:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

По описанному диагноз не поставить.
Препарировать нуна больного
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2012, 14:06   #3
Zuban
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
По описанному диагноз не поставить.
Препарировать нуна больного
Что ж, вот фрагмент кода, который ранее работал, а теперь перестал.
Код:
DM1->Database1->StartTransaction();
    DM1->RMTSQuery->Edit();

    if (status==3) status=0; else status++;

    DM1->RMTSQueryStatus->AsInteger=status;
  	try {
      DM1->RMTSQuery->ApplyUpdates();
			DM1->Database1->Commit();
    }
    catch(...)
    {
    	Application->MessageBox("Íåâîçìîæíî ñîõðàíèòü èçìåíåíèÿ", "Channels.db", MB_OK);
      DM1->Database1->Rollback();
      throw;
    }
    DM1->RMTSQuery->CommitUpdates();
Zuban вне форума Ответить с цитированием
Старый 08.06.2012, 18:57   #4
Zuban
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

В общем, база заработала. Проблема решилась с помощью переиндексации тавлицы.
Zuban вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестала работать мышка в окне эксель staniiislav Microsoft Office Excel 6 31.05.2012 11:19
Перестала работать мышь на ноутбуке hameleon164 Компьютерное железо 1 11.01.2012 23:57
RAD Studio XE 2 - перестала работать функция? XerSon Общие вопросы Delphi 4 20.12.2011 19:32
перестала работать прога tratat Общие вопросы C/C++ 5 11.04.2010 08:50
флешка перестала работать Dizel883 Компьютерное железо 23 21.02.2010 18:18


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840