![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не могу залоковать таблички [D6, MySQL]
Opryshok © (2003-03-10 10:04:00)Здрасти !
короче програма типа сетевая.(MySQL)
проблема состоит вот в чем:
нужно сделать следующее:
LOCK table1 read, table2 write;
select * from table1;
update table2;
UNLOCK TABLES;
Єторабоае корректно тока когда с одного потока последовательность команд запускать, тоесть с одного шела или в случае Делфи с одной Квери.
Все работает ок:
Query1.Clear;
query1.SQL.Add(qry1);//lock
query1.execsql;
query1.SQL.Add(qry2);//statement1
query1.execsql;
query1.SQL.Add(qry3;//statement2
query1.execsql;
query1.SQL.Add(qry4);//unlock
query1.execsql;
проблема возникает при одновремееном выполнении кода с двох разных машин
коип1 : лок
комп2 : ждет пока розлокуется
но тока напервом компе доходит до подмены SQL(statement 2), сразу разлоковуется комп 2 и тогда ситуация вообще неподконтрольна - кто хочет апдейтует, читает. Думаю изложил внятно...
И ничего не могу поделать. Пробую как-то вписать все четыре стейтмента в Кверю, но безуспешно. Возможно вообще написать несколько выражений в Кверю? Как мне обойти проблему?
Спасибо
Opryshok (2003-03-10 17:31:00) [1]ничего никто не говорит.(((( просто ждет....
блин, так пусть себе и ждет.... но мне нужно с квери, которая залокировала вьіполнить еще вьіражения, а я не могу.... нто за фигня... ну хоть кто-нибудь чем-нибудь помогите!!!!!!! плиз
Mike Kouzmine (2003-03-10 15:41:00) [2]Работаешь через БДЕ? Тогда возьми TTable и попробуй открыть ее в эксклюзиве, вероятно, скажет что не может.
Opryshok (2003-03-10 15:15:00) [3]
> Mike Kouzmine
> Если таблица заблокирована, то при соответствующей операции
> возникнет exception
в том и беда, что нифига не возникает. Просто ждет себе пока кто-то не розлокует... и все.
Я тогда не понимаю: неужели с Делфи ЛОК и АНЛОК невозможно использовать?
Mike Kouzmine (2003-03-10 14:43:00) [4]Я просто спросил в чем серьмяжная правда.
Если таблица заблокирована, то при соответствующей операции возникнет exception. Если так, то, отловив его, ты сможешь понять заблокирована или нет. Хотя я могу ошибаться.
Opryshok (2003-03-10 13:34:00) [5]Может средствами mysql возможно узнать залокована ли какая-то табличка?
> Mike Kouzmine (10.03.03 12:59)
> А что ты этим хочешь сказать?
А что ТЬІ этим хочешь сказать?
Mike Kouzmine (2003-03-10 12:59:00) [6]А что ты этим хочешь сказать?