Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

По описанному диагноз не поставить.
Препарировать нуна больного
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2012, 15: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, 19:57   #4
Zuban
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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