12 makineli bir ofiste kullanılan bir program var.veritabanı firebird.
ofiste datalar server üzerinden ortak kullanılıyor.ancak bazı kullanıcılar bilgisayarlarını götürüp ofis dışındada çalışmak istiyorlar.
bu durumda server üzerinden veritabanı dosyasını kopyalayıp kendi makinelerindeki dizine atarak çalışmalarına devam ediyorlar.
ancak bu bilgisayar tekrar ofis ağına katıldığı zaman kullanıcının makinesindeki veritabanı ile server üzerindeki veritabanı senkronize olarak kullanıcının veritabanındaki
dataların server veritabanındada güncellenmesi gerekiyor.
bu olayla ilgili nasıl bir MANTIK yürütmeli ve nasıl bir yol izlemeli.
(ancak burada ciddi bir sorunda şu eğer kullanıcı yeni kayıtlar oluşturmuşsa sorun yok yeni kayıtların tespiti ve veritabanına eklenmesi bir nebze kolay.
fakat kullanıcı ofis ağından ayrıldıktan sonra ofisde bir kayıt üzerinde değişiklik yapıldı diyelim kullanıcıda kendi makinesinde aynı kayıt üzerinde daha başka bir değişiklik yaptı diyelim.
bu durumda bu iki farklı değişiklik arasında nasıl bir bağ kurularak kaydı ona göre güncelleme yapmak gerekir.)
biliyorum belki biraz karışık oldu ama sormaktan yada bişeyler yazmaktan çekinmeyin lütfen.
iyi çalışmalar
iki farklı veritabanında data senkronizasyonu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
iki farklı veritabanında data senkronizasyonu
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
Re: iki farklı veritabanında data senkronizasyonu
her seferinde veritabanını kopyalamak yerine neden servere bir static ip alıpta uzaktan bağlanmalarını sağlamıyorsunuz?
bir ikincisi eğer düzenlenmiş kayıtları kontrol etmek istiyorsanız veritabanlarınıza düzenleme tarihi diye bir alan açıp ilk kayıt esnasından itibaren her düzenlendiğinde güncelleyerek kontrol edebilirsiniz, ilk aklıma gelen buydu ama ne derece sağlıklı olur bilmiyorum kayıt sayısı fazlaysa herbirini kontrol etmek zor olacaktır, en mantıklısı servere uzaktan bağlanmak.
bir ikincisi eğer düzenlenmiş kayıtları kontrol etmek istiyorsanız veritabanlarınıza düzenleme tarihi diye bir alan açıp ilk kayıt esnasından itibaren her düzenlendiğinde güncelleyerek kontrol edebilirsiniz, ilk aklıma gelen buydu ama ne derece sağlıklı olur bilmiyorum kayıt sayısı fazlaysa herbirini kontrol etmek zor olacaktır, en mantıklısı servere uzaktan bağlanmak.
UWESIS CORPORATION
Re: iki farklı veritabanında data senkronizasyonu
sevgili CİTİZEN kardeşim ilgin ve cevabın için çok teşekkür ederim.
servere uzaktan bağlanmak mümkün aslında ama kişilerin ofis dışında çalıştığı ortamda internet yok.sorun orada zaten
internet olsaydı birinci seçenek çok daha kolay ve kullanışlı olurdu.
kayıt sayısı mininum 2000 maximum 6000.
mesele düzenlenmiş kayıt varmı yok mu öğrenmek değil benim bahsettiğim şey kullanıcı serverdeki datayı alıp gittiğinde yeni kayıt ekleme yapabilir yada önceki kayıtlarda düzenleme yapabilir. bu kişi tekrar ofise geldiğinde serverdeki veritabanı ile kişinin veritabanı senkronize olarak bütün farklılıklar eşitlenmeli.
benim istediğim şey bu ancak MANTIK olarak nasıl bir yol izlemeli fikirleriniz talep ediyorum.
iyi çalışmalar diliyorum
servere uzaktan bağlanmak mümkün aslında ama kişilerin ofis dışında çalıştığı ortamda internet yok.sorun orada zaten
internet olsaydı birinci seçenek çok daha kolay ve kullanışlı olurdu.
kayıt sayısı mininum 2000 maximum 6000.
mesele düzenlenmiş kayıt varmı yok mu öğrenmek değil benim bahsettiğim şey kullanıcı serverdeki datayı alıp gittiğinde yeni kayıt ekleme yapabilir yada önceki kayıtlarda düzenleme yapabilir. bu kişi tekrar ofise geldiğinde serverdeki veritabanı ile kişinin veritabanı senkronize olarak bütün farklılıklar eşitlenmeli.
benim istediğim şey bu ancak MANTIK olarak nasıl bir yol izlemeli fikirleriniz talep ediyorum.
iyi çalışmalar diliyorum
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
Re: iki farklı veritabanında data senkronizasyonu
Bu tür veritabanıyla baglantı olmadan çalışmak için iki farklı teknik kullanılabilir.
Birincisi replication diye geçer. Farklı yerlerde çalıştırılan veritabanlarına herkes kendi bilgisini girer, daha sonra akşamları veya ofise gittiklerinde ana veritabanına yaptıkları değişiklikleri yüklerler. Tablolara insert durumunda keyler için gerekli önlemler alınmalıdır, yani iki farklı kullanıcı yeni bir kayıt girerken aynı keyi vermemelidir. Autoinc alan kullanılıyorsa, bunun içinde gerekli düzenlemeler yapılmalıdır. Bu işlemler için özel programlar da kullanabilirsin.
http://www.firebirdfaq.org/faq249/
http://fibre.sourceforge.net/
Diger bir yöntem ise datasnap ile briefcase (evrak çantası) çalışmadır. Bu durumda clientdatasetlere yüklenen bilgiler kullanıcının makinasına kaydedilecek, ve daha sonra ofisteki veritabanıyla birleştirilecektir. Buradaki temel zorluk, iki farklı program yazılmalısının gerekmesidir. Birincisi veritabanıyla program arasında arakatman görevi gören server, digeri ise kullanıcının bilgi girişi yaptıgı istemcidir.
http://www.drbob42.com/examines/examin64.htm
Her iki sistemin de kendine göre avantajları ve dezavantajları vardır. Programı yazdıgın için, datasnap seçenegini uygulaman çok zor görünüyor. Replication için programlar araştırman daha kolay olacaktır. Bu replication programları veritabanına procedure ler yerleştirecekler ve kullanıcıların tablolarda yaptıgı silme, değiştirme ve ekleme işlemini loglayıp, daha sonra bu değişklikleri anaveritabanına aktaracaklar.
Birincisi replication diye geçer. Farklı yerlerde çalıştırılan veritabanlarına herkes kendi bilgisini girer, daha sonra akşamları veya ofise gittiklerinde ana veritabanına yaptıkları değişiklikleri yüklerler. Tablolara insert durumunda keyler için gerekli önlemler alınmalıdır, yani iki farklı kullanıcı yeni bir kayıt girerken aynı keyi vermemelidir. Autoinc alan kullanılıyorsa, bunun içinde gerekli düzenlemeler yapılmalıdır. Bu işlemler için özel programlar da kullanabilirsin.
http://www.firebirdfaq.org/faq249/
http://fibre.sourceforge.net/
Diger bir yöntem ise datasnap ile briefcase (evrak çantası) çalışmadır. Bu durumda clientdatasetlere yüklenen bilgiler kullanıcının makinasına kaydedilecek, ve daha sonra ofisteki veritabanıyla birleştirilecektir. Buradaki temel zorluk, iki farklı program yazılmalısının gerekmesidir. Birincisi veritabanıyla program arasında arakatman görevi gören server, digeri ise kullanıcının bilgi girişi yaptıgı istemcidir.
http://www.drbob42.com/examines/examin64.htm
Her iki sistemin de kendine göre avantajları ve dezavantajları vardır. Programı yazdıgın için, datasnap seçenegini uygulaman çok zor görünüyor. Replication için programlar araştırman daha kolay olacaktır. Bu replication programları veritabanına procedure ler yerleştirecekler ve kullanıcıların tablolarda yaptıgı silme, değiştirme ve ekleme işlemini loglayıp, daha sonra bu değişklikleri anaveritabanına aktaracaklar.
Re: iki farklı veritabanında data senkronizasyonu
sevgili emin_as kardeşim ilgin ve cevabın için çok teşekkür ederim
gayet aydınlatıcı ve bilgilendirici bir cevap oldu benim için.
zannedersem bunu iman gücüyle (kendi yazdığım ara programcıklarla)
yapmak mümkün değil.mümkünse bile açıklarını kapatmak ve tam anlamıyla kontrol etmek
ve her ihtimali düşünmek gayet zor görünüyor ve zaman istiyor.verdiğin birinci linkteki replicator 3.parti toollar en kolay yöntem görünüyor şimdilik.
tekrardan teşekküler.
ama cevap yazacak diğer arkadaşlar lütfen yazmaktan çekinmeyin.
iyi çalışmalar.
gayet aydınlatıcı ve bilgilendirici bir cevap oldu benim için.
zannedersem bunu iman gücüyle (kendi yazdığım ara programcıklarla)


ve her ihtimali düşünmek gayet zor görünüyor ve zaman istiyor.verdiğin birinci linkteki replicator 3.parti toollar en kolay yöntem görünüyor şimdilik.
tekrardan teşekküler.
ama cevap yazacak diğer arkadaşlar lütfen yazmaktan çekinmeyin.
iyi çalışmalar.
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
Re: iki farklı veritabanında data senkronizasyonu
s.a.
replication tool lar değişen kayıtları kontrol etmen biraz zor olur gibime geliyor. Gerçi linkteki programları incelemedim ama sadece değişen kayıtları al gibi bir seçenekleri olduğunu zannetmiyorum.
bence tablolara en son değişme tarihi ve değiştiren kullanıcı bilgilerinide ekleyip bir ara program ile verilerin aktarılmasını sağlamanız daha doğru olur. iki kullanıcı aynı veri üzerinde değişiklik yaptıkları zaman (ki bunun ne kadar mümkün olduğunu bilemiyorum) kontrol mekanizmanında olması lazım.
kolay gelsin.
replication tool lar değişen kayıtları kontrol etmen biraz zor olur gibime geliyor. Gerçi linkteki programları incelemedim ama sadece değişen kayıtları al gibi bir seçenekleri olduğunu zannetmiyorum.
bence tablolara en son değişme tarihi ve değiştiren kullanıcı bilgilerinide ekleyip bir ara program ile verilerin aktarılmasını sağlamanız daha doğru olur. iki kullanıcı aynı veri üzerinde değişiklik yaptıkları zaman (ki bunun ne kadar mümkün olduğunu bilemiyorum) kontrol mekanizmanında olması lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: iki farklı veritabanında data senkronizasyonu
geçmişte benimde böyle bir sıkıntım olmuştu. trigerlar vasıtasıyla değişen dataların idlerini ve hangi işlemin yapıldığını (ekleme, silme, düzeltme) ayrı bir tabloya kaydedip kendi yazdığım eşitleme programı ile aktarıyordum.
Re: iki farklı veritabanında data senkronizasyonu
her bir tablona dinleme triggerları oluştur ekleme silme ve güncelleme. bu triggerler yapılan her işlemi ayrı tablolarda tutsun. tuttugu bu tabloların adıda örneğin TRG$<TABLO_ADI> şeklinde olsun. ve bu TRG Tablolarında normal tablodan farklı olarak ornegin islem_turu isminde bi alanın olsun. bu alanda da yapılan işlemin ne tür bir işlem olduğunu tutabilirsin. data nereye giderse gitsin bu triggerlar datada yapılan her işlem için TRG$ dosyalarına bir kayıt ekleyecektir. eklenen kayıtar orjinal tablodaki kaydın kopyasından biraz daha fazlası olacaktır.
sonrada sql le bu tabloları eşleştirip farklılıkları bulur ve orjinal database ine eklersin. Yada Ek bir program kullanırsın

sonrada sql le bu tabloları eşleştirip farklılıkları bulur ve orjinal database ine eklersin. Yada Ek bir program kullanırsın
