Sorumuz event alert iyle ilgili;
Önce FDB ve bağlantılarla ilgili yapılanları yazayım:
IBXxpert tarafında
Server: Remote
server name : 10.0.0.7
Modemde (e-con) virtual server 3050 tcp 10.0.0.7 makinemizin ip si işlemi yapıldı.
Prtotokol : TCP/IP
Server Version : Firebird 1.5
Database File :C:\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
alias: 10.0.0.7:C:\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
İstanbul'dan makine ip 10.0.0.0 yerine modem ip si ile bağlandı. modem ip virtual server ile makine ip sine yönlendirildi.ibexpert le bağlanıldı.
82.115.57.222:C:\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
Aynı anda bizde yukarıdaki işlem le bağlandık.
Denetim masası güvenlik duvarından adnan adında 3050 port (bağlantı noktası) açıldı.
Yerel makineler sunucu\paylaşımadı\database yolu ile bağlandı.
Ana makina : C:\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB ile bağlandı.
IBDatabase connection local olarak.
Terminal ise;
\\Pc\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
database editor ;
Connection : Remote
Server : Pc (Sunucu adı -> yani bilgisayar adı)
Protokol :NamedPipe
Database :HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
\\Pc\HAYSOFT_YZL\Haysoft_CLS\data\DENEME.FDB
Bu şekil bir bağlantı çalışıyor.
İki tarafta da FB.Server kurulu.
serverdeki ve terminaldeki programda ibevents1 var.
Trigger ismi:EKLEME_VAR o da object inspectorden IBEvents in strings ine eklendi.
Kod: Tümünü seç
procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: String;
EventCount: Integer; var CancelAlerts: Boolean);
begin
ShowMessage('Stok Listesinde: "' + EventName +
'", Hareket Adedi: ' + IntToStr(EventCount));
IBDataSet1.Close;
IBDataSet1.Open;
end;
Lokal durumda sorun yok çalışıyor. Ancak internet bağlantısında kilitlenme oluyor.
Terminal makinede IBEvents i autoregister TRUE yaparsak, kilitlenme oluyor. Eğer terminal makinede Autoregister False olursa problem yok.
Her iki tarafta çok güzel çalışıyor. Ama terminal veri girişlerinde anlık değişmeleri göremiyor. Refresh yapması lazım.
Acaba bu kilitlenme neden yapabilir???