BDE için lisans gerekir mi yoksa FB gibi ücretsizmidir?
verilerin paradox da tutulduğu bir program için lisans almak gerekir mi?
BDE Lisans
paradox iyi bir veritabani degil diyorsunuz fakat;
FB de bi kaydı lock edemedim... cok kullanıcılı program yazarken bu özelligin olmayışı programın hatalı calıstıgı gibi durum meydana getiriyor.
iki kullanıcı aynı anda aynı kayıt uzerinde;
- A kullanıcısı kaydı edit ederken B kullanıcısı bu kaydı edit etmeye calistiginda " bu kayıt kullanılıyor" mesajini BDE nin hata koduyla yakalayip mesaj verdirebiliyorsunuz. (FB de bu yok)
- A kullanıcısı kaydı sildiginde B kullanıcısı o kayıt uzerinde bir degişiklik yapmaya kalktıgında "bu kayıt silinmiş" gibi bir mesaj verdirebiliyorsunuz.
(FB de bu yok)
aha bu iki şeyi BDE de yapabiliyorum fakat ne IB de ne FB de bunu yapamadım. gıcık oldum. aylardı döküman okuyorum. nette bulabildigim kaynaklara bakiyorum. ne bir örnek program ne örnek kod v.s. hiç bişey bulamadım.
ingilizcem olmadığı halde ingilizce kaynaklari bile, sözlükten şurdan burdan bakarak okumaya calisiyorum ki belki bi kelimeden bi şey yakalarim diye...
deneme bi veritabani olusturdum (SIRA ADI SOYADI şeklinde SIRA indexli alan)
formun üstüne bi grid koydum.... IBdataset IBTable IBQuery hepsiyle baglantı kurup denedim. IBTrannsactionun olası tüm ayarlarını kullandım. teker teker denedim.... sonuc yok.
üstad kızacan belki ama...
seminerlerde de FB yere göge sıgmamıs fakat daha bi kaydı bile lock edemiyor
)))
FB de bi kaydı lock edemedim... cok kullanıcılı program yazarken bu özelligin olmayışı programın hatalı calıstıgı gibi durum meydana getiriyor.
iki kullanıcı aynı anda aynı kayıt uzerinde;
- A kullanıcısı kaydı edit ederken B kullanıcısı bu kaydı edit etmeye calistiginda " bu kayıt kullanılıyor" mesajini BDE nin hata koduyla yakalayip mesaj verdirebiliyorsunuz. (FB de bu yok)
- A kullanıcısı kaydı sildiginde B kullanıcısı o kayıt uzerinde bir degişiklik yapmaya kalktıgında "bu kayıt silinmiş" gibi bir mesaj verdirebiliyorsunuz.
(FB de bu yok)
aha bu iki şeyi BDE de yapabiliyorum fakat ne IB de ne FB de bunu yapamadım. gıcık oldum. aylardı döküman okuyorum. nette bulabildigim kaynaklara bakiyorum. ne bir örnek program ne örnek kod v.s. hiç bişey bulamadım.
ingilizcem olmadığı halde ingilizce kaynaklari bile, sözlükten şurdan burdan bakarak okumaya calisiyorum ki belki bi kelimeden bi şey yakalarim diye...
deneme bi veritabani olusturdum (SIRA ADI SOYADI şeklinde SIRA indexli alan)
formun üstüne bi grid koydum.... IBdataset IBTable IBQuery hepsiyle baglantı kurup denedim. IBTrannsactionun olası tüm ayarlarını kullandım. teker teker denedim.... sonuc yok.
üstad kızacan belki ama...
seminerlerde de FB yere göge sıgmamıs fakat daha bi kaydı bile lock edemiyor

@mikser,
genelde DBMS'ler transaction başladığı zaman kayıtları kendileri lock ederler. Tabii seçtiğin transaction çeşitine göre kayıta başkalarının ulaşmasına da olanak verebilirler. Transaction'da Read-Write Table Stability yaparsan Diğer transaction'lar, sizin transaction'ınız commit veya rollback yapana kadar, tabloları değiştiremezler. Bir dene.
Kolay gelsin.
genelde DBMS'ler transaction başladığı zaman kayıtları kendileri lock ederler. Tabii seçtiğin transaction çeşitine göre kayıta başkalarının ulaşmasına da olanak verebilirler. Transaction'da Read-Write Table Stability yaparsan Diğer transaction'lar, sizin transaction'ınız commit veya rollback yapana kadar, tabloları değiştiremezler. Bir dene.
Kolay gelsin.
Firebird 1.5 da yeni bir keyword eklemisler.
tek satır icin select * from ... where id=... for update with lock
seklinde kullanıldıgında diger transaction lar sadece gorebiliyor ama
update yapamıyor.
Ama bunu IbDataset ile nasıl kullanırsın bilemiycem
tek satır icin select * from ... where id=... for update with lock
seklinde kullanıldıgında diger transaction lar sadece gorebiliyor ama
update yapamıyor.
Ama bunu IbDataset ile nasıl kullanırsın bilemiycem
SQL Language Extension: WITH LOCK clause in the SELECT statement
Syntax
========
SELECT ... FROM <sometable> [WHERE ...] [FOR UPDATE [OF ...]] WITH LOCK;
The WITH LOCK clause lets you lock the selected rows so that
other users cannot lock or update the rows until you end your
transaction. You can specify this clause only in a top-level
SELECT statement (not in subqueries). This clause can be used
in DSQL and PSQL.
Restrictions:
- You cannot specify this clause with the following other constructs:
the DISTINCT operator, group_by_clause, or aggregate functions.
- from_clause of SELECT statement must specify single database table
(views and external tables are not allowed)
Author:
Nickolay Samofatov <skidder@bssys.com>
ÜŞENME,ERTELEME,VAZGEÇME