Triggerlerimin bazıları silindi...Neden olablir?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen baloglurecep »

selamlar arkadaşlar. yazdığım müşteri cari programında kullandığımız firebird 2.0.3 veri tabanı serverinde triggerlerimizden bazılarınının silinmiş olduğu gördük. (2 kullanıcıda rast geldik). muhtemel sebebi ne olablir? nasıl önlem alabilirim?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Re: Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen rsimsek »

Uzun zamandır 1.5.4 sürümü kullanıyorum herhangi bir terslik olmadı. Sizdeki beta sürümü olabilir mi? Backup/Restore ile farklı kararlı bir sürüm deneyin. Ayrıca yanınızda sürekli veri tabanının orjinal hali bulunursa arada bir "Database Compare" ile karşılaştırma yaparak bir eksiklik olup olmadığını kontrol edebilirsiniz.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Re: Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen baloglurecep »

teşekkür ederim hocam. şöyle bi kanıya vardık. biz güncelleme yaparken 2 exe kullnıyoruz. birisi programın kendi exesi diğeri de veri tabanınındaki değişiklikleri yapan exe. sanıyoruz ki veri tabanında güncellme yaparken sıkıntı oluştu değişim yapacağımız tirggerde (önce siliyoruz sonra yeni kodları ekliyoruz) sıkıntı yaşadı. program hata verdi. sildiği gibi kaldı. çünkü hata aynı yerde 2 sindede. aklımıza başka bir şey gelmiyor. yüzlerce kullnıcısı var. 2 örnek olması aklımıza bunu getirdi. ama 2 örnek bile olması ticari programda sıkıntılar yaratır. hatasız başka ne yapabilirriz diye araştırıyorz bakalım ne olcak.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Re: Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen rsimsek »

Büyük ihtimalle tespitiniz doğru. Fakat yol hatalı sayılır. Daha kolayı varken ne diye güncelleme için ayrı bir .exe yazıyorsunuz? IBExpert Database Compare ile işinizi çok daha kolay halledebilirsiniz. Ayrıca .exe ile yeni veriler de ekliyorsanız başka tabi. Onun yolu da bir script (SQL) oluşturup yeni veri tabanını buna göre güncellemek. :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
baloglurecep
Üye
Mesajlar: 261
Kayıt: 21 Tem 2006 04:59
İletişim:

Re: Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen baloglurecep »

hocam tekrar merhaba... bir kaç soru sormak istiyorum yazdığın açıklama içeriğine yönelik. database compare tam olarak işlevi nedir? benim bildiğim referans veri tabanı bilgierini gösterdiğin veri tabanına uygulmak. peki hali hazirda kullanılan programlarda (milyonlarca kayıtı olan programlarda bile) nasıl kullanacağız. o veri tabanlarını nasıl gösterebiliriz ki değişimler onalarada uygulansın.

bazen biz projeye yeni tablolara yada bir tabloya yeni alanlar ekleyebiliyoruz. bunları sql script ile topluyoruz bir exe ye dahil ediyoruz. trigerlerde yada procedurlerde vs. değişklikler içinse önce triggerleri yada procedureri siliyoruz. sonra yeni koldarı aktarıyoruz. silmediğimiz zaman hata veriyor. güncelleme ile exe dowload olduğunda otomatik çalışıyor ve sql kodlar yani değişimler kullanıcı veri tabanına aktarılıyor. sanırım anlatabildim. siz ne düşünürsünüz.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Triggerlerimin bazıları silindi...Neden olablir?

Mesaj gönderen Lost Soul »

compare iki veritabanını karşılaştırıp birinde olup da diğerinde olmayanları tespit etmek demektir.

ayrıca



veritabanını sürüme göre güncelleştirme işini yaparken
yeni veritabanın metadatası ile boş bir veritabanı oluşturup eskisinden aktarım yaparsanız güncelleme esnasında mevcut trigerları değiştirmye çalışırken olası karşılaşılabilecek hatalardan emin olma şansınız daha yüksek olabilir.
Cevapla