Вниз
Скачать: CL | DM;

не могу залоковать таблички   Найти похожие ветки 

 
Opryshok ©   (2003-03-10 10:04) [0]

Здрасти !

короче програма типа сетевая.(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 и тогда ситуация вообще неподконтрольна - кто хочет апдейтует, читает. Думаю изложил внятно...

И ничего не могу поделать. Пробую как-то вписать все четыре стейтмента в Кверю, но безуспешно. Возможно вообще написать несколько выражений в Кверю? Как мне обойти проблему?

Спасибо


 
Mike Kouzmine   (2003-03-10 12:59) [1]

А что ты этим хочешь сказать?


 
Opryshok ©   (2003-03-10 13:34) [2]

Может средствами mysql возможно узнать залокована ли какая-то табличка?
> Mike Kouzmine (10.03.03 12:59)
> А что ты этим хочешь сказать?

А что ТЬІ этим хочешь сказать?



 
Mike Kouzmine   (2003-03-10 14:43) [3]

Я просто спросил в чем серьмяжная правда.
Если таблица заблокирована, то при соответствующей операции возникнет exception. Если так, то, отловив его, ты сможешь понять заблокирована или нет. Хотя я могу ошибаться.


 
Opryshok ©   (2003-03-10 15:15) [4]


> Mike Kouzmine


> Если таблица заблокирована, то при соответствующей операции
> возникнет exception

в том и беда, что нифига не возникает. Просто ждет себе пока кто-то не розлокует... и все.

Я тогда не понимаю: неужели с Делфи ЛОК и АНЛОК невозможно использовать?


 
Mike Kouzmine   (2003-03-10 15:41) [5]

Работаешь через БДЕ? Тогда возьми TTable и попробуй открыть ее в эксклюзиве, вероятно, скажет что не может.


 
Opryshok ©   (2003-03-10 17:31) [6]

ничего никто не говорит.(((( просто ждет....

блин, так пусть себе и ждет.... но мне нужно с квери, которая залокировала вьіполнить еще вьіражения, а я не могу.... нто за фигня... ну хоть кто-нибудь чем-нибудь помогите!!!!!!! плиз



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-87929
8fr0st8
2003-03-17 15:28
2003.03.27
Плавающие панели инструментов


1-87887
AFrolov
2003-03-13 17:45
2003.03.27
получить список форм кот. созданы в Application через CreateForm


3-87818
digester
2003-03-09 12:34
2003.03.27
Работа с временем и датой.


3-87806
Roki
2003-03-05 11:43
2003.03.27
Как добавить в системную таблицу isc4.gbd кирилицу?


6-88117
waterfoll
2003-02-06 13:46
2003.03.27
КАК УЗНАТЬ IP КОГДА МЫ В ИНТЕРНЕТЕ?




   Наверх