MS-SQL kayit kilitleme

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Burhan_ast
Üye
Mesajlar: 143
Kayıt: 15 Haz 2003 08:33
Konum: Almaty, Kazakhstan

MS-SQL kayit kilitleme

Mesaj gönderen Burhan_ast »

Merhabalar,

Arkadaslar MS-SQL 2000 de kayit kilitlemek istiyorum, X kullanicisi M-120 kodlu stogu degistir dedigi anda bu kaydi klitlemek ve baska kullanicilar bu kaydi degistirmek istedilerinde Kayitin kilitli oldugunu tespit edip kayit kilitlenmistir demek istiyorum, kayiti degistiren kaydet veya vazgec dedigi andada bu kayittaki kiliti serbest birakmak istiyorum,

Burhan Cakmak
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: MS-SQL kayit kilitleme

Mesaj gönderen conari »

stok kartında kilit diye bir alan tanımla.
true false olarak.
post delete vs işleminden önce (before) select ile kodun durumuna bak. True ise işlem yaptırma false ise devam ettir.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Burhan_ast
Üye
Mesajlar: 143
Kayıt: 15 Haz 2003 08:33
Konum: Almaty, Kazakhstan

Re: MS-SQL kayit kilitleme

Mesaj gönderen Burhan_ast »

Merhaba

Evet bu sekilde bir cozum mumkun ama bu her halukarda sorunlu calisan bir yontem sistemdeki kullanici sayisi 20 veya uzeri oldugunu dusundugumde bu sorun veriyor ve muhakkak cakismalar mumkun oluyor, aslinda MS-SQL serverin bu konuda kendisinin bir kayit kilitleme sistemi var ben bunu kullanmak istiyorum bu konuda yardimci olabilimisiniz,

Burhan
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Re: MS-SQL kayit kilitleme

Mesaj gönderen gkimirti »

Ms-Sql de mutlaka bir transaction başlatma komutu vardır.
bir transaction açık iken başka bir kullanıcı o kayıt üzerinde değişiklik yapmak isteyince vt ler farklı tepkiler veriyor, mesela firebird de record locked gibi bir mesaj gelirken postgresql de set edilen timeout süresince bekletiliyor, bekleme sonunda timeout hatası alınıyor. Ama mssql de transaction açık iken değişiklik yapılmak istenirse nasıl bir tepki alınır bilemiyorum, aslında önemli bir konu , hepimize lazım olabilir.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Re: MS-SQL kayit kilitleme

Mesaj gönderen gkimirti »

Ado ile bağlanıyorsanız
viewtopic.php?f=19&t=9834
bunu bir okuyun.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: MS-SQL kayit kilitleme

Mesaj gönderen tuna »

Ms sql de çok belalı bir iş bu.
Ben daha önce kayıtlar kilitlenmesin diye bir soru sormuştum. Çünkü transaction başlayınca tarnsaction'a giren tabloya diğer kullanıcıların hiçbirisi erişemiyor. Time out oluyordu. Bi inceleyin.

viewtopic.php?f=27&t=24964
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: MS-SQL kayit kilitleme

Mesaj gönderen Kuri_YJ »

Selamlar,

Kullandığınız SQL Cümlesinde WITH NOLOCK, WITH ... gibi yardımcı transaction mode'ları var. Bunları inceleyin. İşinize yarayacaktır. Olayın mantığını algılamanız daha doğru olur.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla