Skip to main content

AccessTr.neT


Access Dosyasını Yenisiyle Güncelleme

Access Dosyasını Yenisiyle Güncelleme

Çözüldü #10
Sayın manco41
Yaklaşık 1 yıl önce böyle bir konuda benim bir projem oldu. Satışını yaptığım özel bir programımın zaman zaman güncellenmesi gerekiyordu. Bu güncelleme için başlangıçta rar ile sıkıştırdığım mdb arayüzünü, aynı bağlı tablolar hazır bağlanmış olarak gönderiyordum. Bir ara onu exe yapıp mevcut bilinen klasöre açması biçiminde ayarlamış ve tek tıklamayla açılarak -programın kapalı olması şartıyla- mevcut dosyanın yerine yeni dosyayı kopyalattırıyordum.

Bu işlemin birkaç sakıncası vardı. Öncelikle kullanıcılar daha önce lisanslanmış oldukları için lisansları devreden çıkıyordu. Çünkü lisans işlemleri bu mdb içinde hallediliyor, registerdeki lisans no ile mdb farklı olduğu için tekrar şifre almaları gerekiyordu. Bu da her güncellemede bir sürü kullanıcıya şifre vermemi gerektiriyordu. Hem zaman kaybı hem de can sıkıcı bir durumdu.

Ne yapılabilir diye düşünerek, bir kurulum dosyası tasarladım. Bu dosya Vb dosya komutları kullanarak dsyaları değiştiriken mevcut mdb'nin içindeki serialı alıyor, kendi tablosunun içine yazıyor, daha sonra yeni mdb'yi eskisinin üzerine yapıştırıyordu.

Yöntemi uygularken yeni mdb dosyasınını uzantısını değiştirdim, mds yaptım. Bütün bu işlemleri yapması için oluşturduğum dosyam da mdb uzantılı. Tüm bu dosyaları içine alan ve tek bir exe durumuna getiren bir de kurulum dosyası yaptım. Kurulum dosyası çalıştırıldığında dosyaları diskteki update isimli klasöre açıyor, sonra da güncelleme dosyamı çalıştırıp onaylamanızı bekliyor. Eğer onaylarsanız değişim yapılıyor.
Ben bunu uyguladım ve halen kullanıyorum. Bu arada sevgili admin de bu fifkirden hareketle kendi özgün çalışmasını yaptı ve o da Polsoft güncellemesinde benzer bir yöntem geliştirdi. Onun projesi benimkiyle birebir aynı değil, fikir olarak benim çalışmamdan yola çıkılmış bir çalışmadır. Size örnek olarak da ona benzer bir çalışmayı sunmuş yukarda.

Şimdi bu kadar hikayeden sonra gelelim sizin durumunuza. Anladığım kadarıyla siz bu işlemi ağ kullanıcıları birşey yapmadan tek makineden otomatik yaptırmak istiyorsunuz. Bu, kullandığınız network sistemine göre değişir. Eğer windows server 2003 veya 2008 kullanıyor, diğer makineleri de onun etki alanı içerisinde çalıştırıyorsanız, her türlü işlemi server üzerinden kullanıcı adına göre tanımlayabilirsiniz. Kullanıcı hangi makinede oturum açarsa açsın güncellemeleri onu takip eder. Bu konu o kadar derin ki, bu sitenin konusu hiç değil. Sizin kastettiğiniz şeyin bu da olmadığını sanıyorum.
Fakat bir alternatif var ki, formlarınızda bir versiyon no alanı koyup, serverden bir bağlı tablo alanına da koyduğunuz numarayla karşılaştırırsanız, basit bir if.. then sorgulamasıyla otomatik güncelleme yapabilirsiniz. Bunun için açılışta hiçbirşey açılmadan açılan ve local makineden bağlı veri içermeyen bir form kullanın, üzerinde sadece o mdb versiyonu olsun, karşılığında da serverden gelen numaraya baksın. Eğer no'lar farklıysa güncelleme yapsın, formu ağdaki bilinen yerden alsın getirsin ve eskisiyle değiştirsin.

Umarım anlaşılmıştır. Ben bu işlemi internet üzerinden accessbrowser ile yapıyorum. Ağda yapmak çok daha kolaydır.

Kolay gelsin.
İnadına, ille de Accesstr.net...
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: access dosyasını yenisiyle güncelleme - Yazar: mehmetdemiral - 21/07/2009, 11:35