Yeni Firebird dbye eski firebird db datalarını transfer etme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Yeni Firebird dbye eski firebird db datalarını transfer etme
Arkadaşlar firbird 1,5 database kullanıyorum.Sorunum şu.
Programımızı hazırladık.Kullanıcılar kullanmaya başladı.Ancak saha sonra
programda güncelleme yapmak ihtiyacı duyduk.Ama değişiklikler exe ile kalmadı sadece.Databsaede birkaç field daha ekledik.
Databasede değişiklik yapmasaydık eğer kişi eski datalarını tekrar yeni program klasörüne atar kullanırdı ama databasede değişiklik yaptığımızdan bunu yapamayız.Ama program çok kişi kullandığından
hepsine bu alanları eklememiz de imkansız.Kullanıcılara IBEXPERTle databasei aç ve şunları şunları yap ta diyemeyiz.
Acaba bu sorunu delphi kodları ile nasıl halledebiliriz.Yani kişi
eski databasei içindeki verileri yeni bazı alanlar eklenmiş yeni databasein içine atacak.Ama sadece bir butona tıklayarak yani uğraşmayacak.Acaba bunu delphi kodları ile yapabilirmiyiz.
Nasıl yapabiliriz.IB restore ile yapmaya çalıştım ama eski db IBBackupService tarafından oluşturulmadığından (doğal olarak)
yapamadım.Bu konuda bilgisi olanlar varsa lütfen yardım.Herkese teşekkürler.Kolay gelsin.
Not:Stored procedure,trigger,generatör v.s. yok.herşey dalphi tarafında.
Programımızı hazırladık.Kullanıcılar kullanmaya başladı.Ancak saha sonra
programda güncelleme yapmak ihtiyacı duyduk.Ama değişiklikler exe ile kalmadı sadece.Databsaede birkaç field daha ekledik.
Databasede değişiklik yapmasaydık eğer kişi eski datalarını tekrar yeni program klasörüne atar kullanırdı ama databasede değişiklik yaptığımızdan bunu yapamayız.Ama program çok kişi kullandığından
hepsine bu alanları eklememiz de imkansız.Kullanıcılara IBEXPERTle databasei aç ve şunları şunları yap ta diyemeyiz.
Acaba bu sorunu delphi kodları ile nasıl halledebiliriz.Yani kişi
eski databasei içindeki verileri yeni bazı alanlar eklenmiş yeni databasein içine atacak.Ama sadece bir butona tıklayarak yani uğraşmayacak.Acaba bunu delphi kodları ile yapabilirmiyiz.
Nasıl yapabiliriz.IB restore ile yapmaya çalıştım ama eski db IBBackupService tarafından oluşturulmadığından (doğal olarak)
yapamadım.Bu konuda bilgisi olanlar varsa lütfen yardım.Herkese teşekkürler.Kolay gelsin.
Not:Stored procedure,trigger,generatör v.s. yok.herşey dalphi tarafında.
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Merhaba.
Programlarınızda; Update ya da Technical Support konusunda sıkıntı yaşamamak ya da işlerinizi daha da kolaylaştırmak için bir Sql Formu hazırlamanız menfaatinize olacaktır.Bir Memo, bir Query ya da Script bileşeni ile birkaç satır sql cümlesini herhangi bir şekilde kullanıcıya iletip çalıştırmasını sağlamak bu tür sıkıntılarınızı giderecektir.
Kolay gelsin.
Programlarınızda; Update ya da Technical Support konusunda sıkıntı yaşamamak ya da işlerinizi daha da kolaylaştırmak için bir Sql Formu hazırlamanız menfaatinize olacaktır.Bir Memo, bir Query ya da Script bileşeni ile birkaç satır sql cümlesini herhangi bir şekilde kullanıcıya iletip çalıştırmasını sağlamak bu tür sıkıntılarınızı giderecektir.
Kolay gelsin.
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Aslında bu bir sorgu hazırlamaktan daha basit, birkaç bileşen property'sini kullanacaksınız sadece..Sadece veri transferi yapmak istiyorsanız bunu bir sp yazarak yapmanızı tavsiye ederim..Eğer bu da şu aşamada zor diyorsanız delphi içinden tablodaki kayıt sayısı kadar döngü oluşturarak alanları tek tek yazmak ve değerleri ilgili tablalolara bağlanmak suretiyle yeni veritabanına tablolarına aktarmak..
Kolay gelsin.
Kolay gelsin.
@FAOSoft un makalesinden sonra belki abes kaçar ama, FireBird veritabanları için IBExpert te her ikisi için VT1 ve VT2 diye iki alias eklediğini varsayarak Tools/Database Compare'den bu işi kolayca yapabileceğini söylemek isterim.. Reference Database olarak güncel veritabanını veya alias ını, Comparative Database olarak da kullanılmakta olan veritabanının (önce yedeğini alarak!) yapılarını (tablo, field, sp, vs) birbirleri ile uyumlandırabilirsin.. Burada dikkat edilecek husus yeni eklenecek alanlanlarda not null veya birbirine bağımlı nesneler varsa onlara script halinde elle mudahale etmek.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Bu konuda ben şağıdaki şekilde basit bir çözüm ürettim:
programın bulundugu klasörde bir alt klasor actım "guncelle" diye.
veri tabanında yaptıgın (ıbexperıle ) duzxenlemelerı 1,2,3...gıbı sql dosyaları olusturup bu kalsore kaydedıyorum. verı tabanında versıyon diye bir table var orada son duzenleme nuramasını tutuyorum. program ıcındede son versıyon nurasını yazıyorum program her calıstırgındea bunumarayı ve versıyon table dakı numrayı kontrol edıyor farklı ıse sql ı yukleyıp calıstırıyor .
bırılerıne yardım olursa diye...
programın bulundugu klasörde bir alt klasor actım "guncelle" diye.
veri tabanında yaptıgın (ıbexperıle ) duzxenlemelerı 1,2,3...gıbı sql dosyaları olusturup bu kalsore kaydedıyorum. verı tabanında versıyon diye bir table var orada son duzenleme nuramasını tutuyorum. program ıcındede son versıyon nurasını yazıyorum program her calıstırgındea bunumarayı ve versıyon table dakı numrayı kontrol edıyor farklı ıse sql ı yukleyıp calıstırıyor .
bırılerıne yardım olursa diye...
En hayırlınız İnsanlara faydalı olanlarınızdır (hs)