Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters

Reply
 
Thread Tools

SQL first steps
Old 12.11.2002, 00:29   #1
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post SQL first steps

По воле случая мнe приходится провести кое какие действия на SQL...
Помогите раозобраться..значица делаю

select * from sometable...

Иногда получаю сообшение что этот table locked..
А мне нужно чтобы команда выполнялась всегда..
Из документации не совсем мне понятно..что говорится про isolation..но вроде не то..
Есть еше нечто вроде
set lock mode to wait

Опять же не понятно..если это, то является ли это
установка перманентной или область ее действия
ограничивается моим скриптом?
База, к которой конектюсь работаюшая и мне бы не хотелось бы менять какие либо ее установки...
Помогите грамотно составить скрипт
Заранее всем спасибо

Old 12.11.2002, 02:36   #2
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

У нас , что..спецы по SQL перевелись?

Old 12.11.2002, 05:53   #3
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
Post

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 ]

Old 12.11.2002, 06:11   #4
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

среда HP unix, база informix..

Old 12.11.2002, 06:34   #5
VX
Консервативн
 
VX's Avatar
 
Join Date: 01 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 0
Post

Nado posmotret' kakoy process zdella LOCK <table>
ili sootvetstvenno UNLOCK <table> )
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*

Old 12.11.2002, 06:39   #6
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

то VX> должно быть неважно кто сделал lock...
Я всего лишь хочу считать данные,и готов подождать некоторое время пока будет unlock..
Я предполагаю что первой строкой в скрипте
SET LOCK MODE TO WAIT;
и есть требуемое решение, но не уверен...Хотелось
бы знать наверняка...

Old 12.11.2002, 06:42   #7
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
Post

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 ]

Old 12.11.2002, 06:52   #8
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

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"

вот тока кто из них для чего ...

Old 12.11.2002, 06:59   #9
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
Post

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 ]

Old 12.11.2002, 07:03   #10
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 43
Posts: 540
Rep Power: 5
Post

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 ]

Old 12.11.2002, 17:46   #11
nm
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 55
Posts: 3,118
Rep Power: 0
Post

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

Old 12.11.2002, 18:58   #12
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

Wsem spasibo...в принципе все сводится либо
к SET LOCK MODE... либо SET ISOLATION...

Почему меня смушает SET LOCK MODE...не совсем понятно, то ли я этим задаю модель поведения для других процессов, пока я модифицирую данные, то ли
задаю модель поведения для своего процесса, когда другие процессы модифицируют данные..то ли и то и другое...
А насчет SET ISOLATION...опять же непонятно, ее эффект распространяется только на мой процесс или на все другие, и продолжает ли сохраняться по завершении моего процесса...

Мне ведь что нужно...считать из таблицы данные,даже если придется подождать...и при этом
чтобы установки типа SET LOCK или ISOLATION имели время жизни в течении моего процесса...а еше лучше не только время но и место
Вообшем чтобы имели локальный характер..

Old 13.11.2002, 18:13   #13
nm
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 55
Posts: 3,118
Rep Power: 0
Post

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...

Old 13.11.2002, 19:35   #14
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 54
Posts: 450
Rep Power: 0
Post

To nm> надеюсь ты прав....
Опыт критерий истины...
А потому я установил пока SET ISOLATION...,
и пока что error-ов нет..подожду несколько дней
если хоть раз появится, попробую затем SET LOCK..
Reply




Реклама:
реклама
Buy text link .

All times are GMT. The time now is 01:14.
Top

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.