Armenian Knowledge Base  

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

Reply
 
LinkBack Thread Tools
Old 12.11.2002, 00:29   #1
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post SQL first steps

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

select * from sometable...

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

Опять же не понятно..если это, то является ли это
установка перманентной или область ее действия
ограничивается моим скриптом?
База, к которой конектюсь работаюшая и мне бы не хотелось бы менять какие либо ее установки...
Помогите грамотно составить скрипт
Заранее всем спасибо
Reply With Quote
Old 12.11.2002, 02:36   #2
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

У нас , что..спецы по SQL перевелись?
Reply With Quote
Old 12.11.2002, 05:53   #3
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
Post

kakaja sreda? OS, SQL server...

v SQL net standartnogo mexanizma locking-a. vse zavisit ot konkretnoj realizacii SUBD.
Reply With Quote
Old 12.11.2002, 06:11   #4
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

среда HP unix, база informix..
Reply With Quote
Old 12.11.2002, 06:34   #5
Консервативн
 
VX's Avatar
 
Join Date: 01 2002
Location: Кавказская Албания
Posts: 889
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

Nado posmotret' kakoy process zdella LOCK <table>
ili sootvetstvenno UNLOCK <table> )
Reply With Quote
Old 12.11.2002, 06:39   #6
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

то VX> должно быть неважно кто сделал lock...
Я всего лишь хочу считать данные,и готов подождать некоторое время пока будет unlock..
Я предполагаю что первой строкой в скрипте
SET LOCK MODE TO WAIT;
и есть требуемое решение, но не уверен...Хотелось
бы знать наверняка...
Reply With Quote
Old 12.11.2002, 06:42   #7
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
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.
Reply With Quote
Old 12.11.2002, 06:52   #8
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 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"

вот тока кто из них для чего ...
Reply With Quote
Old 12.11.2002, 06:59   #9
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
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.
Reply With Quote
Old 12.11.2002, 07:03   #10
¡no pasaran!
 
dolphin's Avatar
 
Join Date: 03 2002
Location: localhost
Age: 35
Posts: 540
Downloads: 0
Uploads: 0
Reputation: 13 | 4
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.
Reply With Quote
Old 12.11.2002, 17:46   #11
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 47
Posts: 3,118
Downloads: 0
Uploads: 0
Reputation: 5 | 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
Reply With Quote
Old 12.11.2002, 18:58   #12
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

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

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

Мне ведь что нужно...считать из таблицы данные,даже если придется подождать...и при этом
чтобы установки типа SET LOCK или ISOLATION имели время жизни в течении моего процесса...а еше лучше не только время но и место
Вообшем чтобы имели локальный характер..
Reply With Quote
Old 13.11.2002, 18:13   #13
ЙЦУКЕН
 
Join Date: 07 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Age: 47
Posts: 3,118
Downloads: 0
Uploads: 0
Reputation: 5 | 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...
Reply With Quote
Old 13.11.2002, 19:35   #14
Moderator
 
shatver's Avatar
 
Join Date: 07 2002
Location: Yerevan
Age: 46
Posts: 450
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

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

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 12:47.


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