with lock ile kilitenmiş olup olmadıgını anlamak

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

with lock ile kilitenmiş olup olmadıgını anlamak

Mesaj gönderen filiz »

merhabalar

with lock ile kilitli olan kayıtları nasıl bulurum yada açtığım kaydın(açar açmaz) kilitli olup olmadığını nasıl anlarım?
sistem hata vermeden ben anlamak istiyorum..ona göre delphide belli alanları (butonları) enabled ini false yapmak istiyorum

veritabanı firebird
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Aşağıdaki sitede bahsediyor. Locked olan kayıtları excute olayında yakalamaya çalışıyor.
http://www.interbase-world.com/en/articles/805.php
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Güzel bir soru. Cevabı ben de merak ediyorum. Lokal uygulamalarda bu iş bir şekilde halledilebilir. Sonuçta kilitleyen siz olursunuz. Kilitleyip kilitlemediğinizi bir yerde tutabilirsiniz. Hmm.. Bu işin kolay bir yolu yoksa ağ ortamında kilitli kaydın hangi tabloda ve hangi kayıt olduğu bir tabloya atılıp, kilit açılınca bu tablodan silmek gibi bir işlemle tablodaki değerler kilitlidir gibi bir bilgiye ulaşmak mümkün. Ama iyi bir yöntem değil.

Bu arada site hala açılmadı.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Oracle da V$LOCK ile ilgili bir değişken var kayıt için. bende firebird kurulu değil bir deneyin. birde LOCK_TIMEOUT diye bir değişken varmış :)
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Mesaj gönderen filiz »

Sometimes you need a reference to information about locks. Microsoft recommends to use sp_lock system stored procedure to report locks information. This very useful procedure returns the information about SQL Server process ID, which lock the data, about locked database ID, about locked object ID, about locked index ID and about type of locking (type, resource, mode and status columns).
This is the results set of sp_lock stored procedure:

spid dbid ObjId IndId Type Resource Mode Status
------ ------ ----------- ------ ---- ---------------- -------- ------
1 1 0 0 DB S GRANT
6 1 0 0 DB S GRANT
7 1 0 0 DB S GRANT
8 1 0 0 DB S GRANT
9 1 0 0 DB S GRANT
9 2 0 0 DB S GRANT
9 1 117575457 0 TAB IS GRANT
10 1 0 0 DB S GRANT
11 5 0 0 DB S GRANT




You can find this stored procedure at here:

INF: sp_lock2 Returns Additional Locking Details
http://support.microsoft.com/support/kb ... 5/5/96.ASP

This enhanced stored procedure works under SQL Server 7.0 as well, but has syntax error under SQL Server 2000. It does not return the name of an index also.

Here you can find the new version of the sp_lock2 stored procedure for SQL Server 7.0 and SQL Server 2000. This version returns index name and object owner also:

Detailed locking view: sp_lock2

sql 7.0 da böyle bir şey var ama firebird 1.5 te böyle birşey nasıl yapılabilir?
Cevapla