 |
SQL first steps |
 |
12.11.2002, 00:29
|
#1
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
SQL first steps
По воле случая мнe приходится провести кое какие действия на SQL...
Помогите раозобраться..значица делаю
select * from sometable...
Иногда получаю сообшение что этот table locked..
А мне нужно чтобы команда выполнялась всегда..
Из документации не совсем мне понятно..что говорится про isolation..но вроде не то..
Есть еше нечто вроде
set lock mode to wait
Опять же не понятно..если это, то является ли это
установка перманентной или область ее действия
ограничивается моим скриптом?
База, к которой конектюсь работаюшая и мне бы не хотелось бы менять какие либо ее установки...
Помогите грамотно составить скрипт
Заранее всем спасибо
|
|
|
12.11.2002, 02:36
|
#2
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
У нас , что..спецы по SQL перевелись?
|
|
|
12.11.2002, 05:53
|
#3
|
¡no pasaran!
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
|
kakaja sreda? OS, SQL server...
v SQL net standartnogo mexanizma locking-a. vse zavisit ot konkretnoj realizacii SUBD.
__________________
[ que fors aus ne le sot riens nee ]
|
|
|
12.11.2002, 06:11
|
#4
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
среда HP unix, база informix..
|
|
|
12.11.2002, 06:34
|
#5
|
Консервативн
Join Date: 01 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 0
|
Nado posmotret' kakoy process zdella LOCK <table>
ili sootvetstvenno UNLOCK <table>  )
__________________
Праздник к нам приходит...
|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
|
|
|
12.11.2002, 06:39
|
#6
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
то VX> должно быть неважно кто сделал lock...
Я всего лишь хочу считать данные,и готов подождать некоторое время пока будет unlock..
Я предполагаю что первой строкой в скрипте
SET LOCK MODE TO WAIT;
и есть требуемое решение, но не уверен...Хотелось
бы знать наверняка...
|
|
|
12.11.2002, 06:42
|
#7
|
¡no pasaran!
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
|
sorry, v scripte na chem?
"SET LOCK MODE TO WAIT;" v SQL na skol'ko mne izvestno podobnyx direktiv net. v MySQL vse sovsem po drugomu.
__________________
[ que fors aus ne le sot riens nee ]
|
|
|
12.11.2002, 06:52
|
#8
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
Quote:
Originally posted by dolphin:
sorry, v scripte na chem?
"SET LOCK MODE TO WAIT;" v SQL na skol'ko mne izvestno podobnyx direktiv net. v MySQL vse sovsem po drugomu.
|
речь идет об informix SQL...
krome
"SET LOCK MODE TO WAIT"
есть еще
"SET ISOLATION DIRTY READ"
вот тока кто из них для чего ...
|
|
|
12.11.2002, 06:59
|
#9
|
¡no pasaran!
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
|
Quote:
>I am having a problem with locks when two clients perform a read one after the other.
It is not obvious that the users have read locks. The command, SET LOCK MODE TO WAIT, simply means that the process should wait if it encounters a locked record. SET ISOLATION TO REPEATABLE READ in addition to SET LOCK MODE TO WAIT, for example might better accomplish what you want.
|
__________________
[ que fors aus ne le sot riens nee ]
|
|
|
12.11.2002, 07:03
|
#10
|
¡no pasaran!
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
|
Quote:
REPEATABLE READ
When it's used, then dirty reads and nonrepeatable reads cannot occur. It means that locks will be placed on all data that is used in a query, and another transactions cannot update the data.
|
__________________
[ que fors aus ne le sot riens nee ]
|
|
|
 |
|
 |
12.11.2002, 17:46
|
#11
|
ЙЦУКЕН
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 55
Posts: 3,118
Rep Power: 0
|
ja dumaju tebe eto pomozhet
http://www.informix.com/answers/engl...lt/07.fm8.html
tol'ko wot raznica w tom, chto tam wse opisywaetsja otnositel'no "row locking" a u tebja wydaetsja oshibka "table locked" .... tak chto mozhet prichina i w chem-to drugom.
obyknowenno utilita dlja administrirowanija SQL server-a pozwoljaet posmotret' tekushie soedinenija, wypolnjaemye zaprosy i posmotret' kazhdyj iz nih w kakom sosotojanii.
tak chto esli ty mozhesh stabil'no wosproizwodit' etu situaciju - posmotri, na chem imenno (na kakom zaprose) zablokirowalas' tablica/sql zapros.
naschet "dirty read" - takim obrazom ty prosto wsedesh wsju podderzhku transactionow basoz na net  poskol'ku ty budesh chitat' WSE zapisi iz tablicy ... dazhe te, ktoorye w predelah transactiona mogut menjatsja ili udaljatsja ...
wobshem chitaj zdes'
http://www.informix.com/answers/engl...1sets.fm7.html
|
|
|
 |
12.11.2002, 18:58
|
#12
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
Wsem spasibo...в принципе все сводится либо
к SET LOCK MODE... либо SET ISOLATION...
Почему меня смушает SET LOCK MODE...не совсем понятно, то ли я этим задаю модель поведения для других процессов, пока я модифицирую данные, то ли
задаю модель поведения для своего процесса, когда другие процессы модифицируют данные..то ли и то и другое...
А насчет SET ISOLATION...опять же непонятно, ее эффект распространяется только на мой процесс или на все другие, и продолжает ли сохраняться по завершении моего процесса...
Мне ведь что нужно...считать из таблицы данные,даже если придется подождать...и при этом
чтобы установки типа SET LOCK или ISOLATION имели время жизни в течении моего процесса...а еше лучше не только время но и место
Вообшем чтобы имели локальный характер..
|
|
|
13.11.2002, 18:13
|
#13
|
ЙЦУКЕН
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 55
Posts: 3,118
Rep Power: 0
|
ee. ja prakticheski uveren chto twoi izmenenija (SET LOCK WAIT i wse takoe) dejstwujut tol'ko w predelah odnoj sessii .. (t.e. ustanowil soedinenie, dal komandu - rabotaesh, otsoedinilsja, wse ustanowki na triple-x...
|
|
|
13.11.2002, 19:35
|
#14
|
Moderator
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
|
To nm> надеюсь ты прав....
Опыт критерий истины...
А потому я установил пока SET ISOLATION...,
и пока что error-ов нет..подожду несколько дней
если хоть раз появится, попробую затем SET LOCK..
|
|
|
All times are GMT. The time now is 01:14. |
|
|