Arkadaşlar herkese kolay gelsin.Allah'ın rahmeti üzerinize olsun..
sizlerden fikir almak istiyorum..yapmış olduğum uygulamada ufak tefek sorunlar çıktı.bilhasse tablolarımın birindeki alanda problem meydana geldiğini gördüm.numara diye belirttiğim alanı kısa tutmuşum (shortint) buda probleme yol açtı, ve kullandığım Query bileşenşerinis fields editörde göstermiştim(sağ tıkla) bu alanı.kurulu programa güncelleştirme yaparak bu sorunları nasıl halledebiliriz.veritabanındaki alan tipini veritabanının yönetim aracını kullanarak düzelteceğim ama programdaki bu tip düzenlemeleri nasıl yaparım .daha önce hiç güncelleştirme yapmadım.(Query fields,grid columnsları gibi)
yardımalrınızı bekliyorum kolay gelsin.
program güncelleştirmesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
program güncelleştirmesi
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Selamunaleykum.
Öncelikle veritabanı ve kullandıgınız bileşenleri belirtseydiniz iyi olurdu.
Ben firebird, ibdataset ve quantumgrid de bir duzeltme yapmam gerektiğinde once vt'yi duzeltiyorum.
Delphi tarafında ise vtye olan baglantıyı false ediyorum.
İlgili bileşenin fieldlarını sildikten sonra dataset editorde gerekli değişiklik ve sql üretme işlemlerini yapmaya çalışyorum. Burada bir problem cıkarsa (bazen oluyor) bu dataseti silip yeni bir dataset koyuyorum ve isimlerini eskisiyle aynı isimleri kullanıyorum. Diğer bileşenlerde bir problem olmuyor.
Grid tarafında ise ilgili alanı kaldırıyorum ve yine sadece ilgili alanı tekrar ekliyorum ve ayarlarını yapıyorm.
kolay gelsin
Öncelikle veritabanı ve kullandıgınız bileşenleri belirtseydiniz iyi olurdu.
Ben firebird, ibdataset ve quantumgrid de bir duzeltme yapmam gerektiğinde once vt'yi duzeltiyorum.
Delphi tarafında ise vtye olan baglantıyı false ediyorum.
İlgili bileşenin fieldlarını sildikten sonra dataset editorde gerekli değişiklik ve sql üretme işlemlerini yapmaya çalışyorum. Burada bir problem cıkarsa (bazen oluyor) bu dataseti silip yeni bir dataset koyuyorum ve isimlerini eskisiyle aynı isimleri kullanıyorum. Diğer bileşenlerde bir problem olmuyor.
Grid tarafında ise ilgili alanı kaldırıyorum ve yine sadece ilgili alanı tekrar ekliyorum ve ayarlarını yapıyorm.
kolay gelsin
Hocam aleyküselam ....
Veri tabanı Advantage...
bileşenler ise AdsQuery,Adsdateset,Qantumgrid.
hocam ben bu programın herşeyini hazıladım kurlumunu falan yaptım..normal olarak çalıştı.buraya kadar tamam.kurulu halde olan programın bazı özelliklerini hatalarını düzeltmek için ufak bir programcıkmı yazcaz yoksa normal olanı delphide açıp düzelttikten sonra yeniden mi kurcaz.önceden bu şekidle yapıyordum.ama bu kez böyle bir şey ddüşündüm böyle bir şey mümkünmü acaba.
kolay gelsni sizede.
Veri tabanı Advantage...
bileşenler ise AdsQuery,Adsdateset,Qantumgrid.
hocam ben bu programın herşeyini hazıladım kurlumunu falan yaptım..normal olarak çalıştı.buraya kadar tamam.kurulu halde olan programın bazı özelliklerini hatalarını düzeltmek için ufak bir programcıkmı yazcaz yoksa normal olanı delphide açıp düzelttikten sonra yeniden mi kurcaz.önceden bu şekidle yapıyordum.ama bu kez böyle bir şey ddüşündüm böyle bir şey mümkünmü acaba.
kolay gelsni sizede.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
-
- Kıdemli Üye
- Mesajlar: 395
- Kayıt: 22 Tem 2004 09:15
- Konum: İzmir
- İletişim:
Selami,
Production aşamasına gelmiş bir projede vt nin de bir versiyonu olmalıdır. Örneğin uygulamanın çalıştığı dizinde patch adlı bir dizin olsun;
schema.sql
ver121.sql
ver122.sql
ver123.sql
......
Buradaki schema initial vt yi oluşturan sql olsun. Sonrakiler ise bir önceki numaralı patch üzerine uygulanacak olan sql i içersin. VT içindeki parametre tablonuzda da version adlı bir alanda değeri koruyun. Programınızın girişinde bu versiyon numarasından yeni bir sql var mı diye bakıp yeni sql ler varsa sırayla işletirsiniz.
Örnek (Oracle icin):
ver121.sql;
ALTER TABLE xx ADD xField VARCHAR2(100);
UPDATE xParameter SET value=121 WHERE key='VERSION';
ver122.sql;
DROP TABLE xxTemp;
UPDATE xParameter SET value=122 WHERE key='VERSION';
......
şeklinde. Artık içinde veri olan production database leri bu şekilde güncelleyeceksiniz. Güncel uygulama, beraberinde VT patch setiyle birlikte gidecek.
Kolay gelsin,
Production aşamasına gelmiş bir projede vt nin de bir versiyonu olmalıdır. Örneğin uygulamanın çalıştığı dizinde patch adlı bir dizin olsun;
schema.sql
ver121.sql
ver122.sql
ver123.sql
......
Buradaki schema initial vt yi oluşturan sql olsun. Sonrakiler ise bir önceki numaralı patch üzerine uygulanacak olan sql i içersin. VT içindeki parametre tablonuzda da version adlı bir alanda değeri koruyun. Programınızın girişinde bu versiyon numarasından yeni bir sql var mı diye bakıp yeni sql ler varsa sırayla işletirsiniz.
Örnek (Oracle icin):
ver121.sql;
ALTER TABLE xx ADD xField VARCHAR2(100);
UPDATE xParameter SET value=121 WHERE key='VERSION';
ver122.sql;
DROP TABLE xxTemp;
UPDATE xParameter SET value=122 WHERE key='VERSION';
......
şeklinde. Artık içinde veri olan production database leri bu şekilde güncelleyeceksiniz. Güncel uygulama, beraberinde VT patch setiyle birlikte gidecek.
Kolay gelsin,
Doğan Zorlu, İzmir
------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
Sayın doğan zorlu ;
Kastetmek istediğiniz herhalde vt üzerindeki değişiklikleri çalışma anında versiyon numarasına göre kontrol edip sql komutları ile yapmak.
Evet bu konudaki görüşünüz çok doğru ve güzel özellikle internetten servis yapılmk istendiğinde tabii nasıl yapılacağını biraz daha ayrıntılı ve firebird için açarsanız çok sevinirim.
Yalnız burda sayın vedat kaba arkadaşımız değindiği gibi vt üzerinde yapılan değişikliğin delphi tarafında algılanması ile iligili mesala müsteri adı varchar(20) tanımlanmış ve uygulamada ibquerydesize olarak böyle kullanılmış formlarda veya datamodülde ancak vt'de size'ı değiştirdiğinizde
bu değişkenin kullanıldığı heryeri gözden geçirmek zorunda kalıyoruz bildiğim kadarıyla bunun bi formulü yokmu mesala domain kullandığımızda da domainin size'ını değiştirdiğimizde uygulamada bunlar otamatik algılarmı mesala progress veri tabanında like komutu vardır ve derleme sonrasında vt'deki değişiklikleri otamatik olarak algılar
Çalışmalarınızda başarılar dilerim.
Kastetmek istediğiniz herhalde vt üzerindeki değişiklikleri çalışma anında versiyon numarasına göre kontrol edip sql komutları ile yapmak.
Evet bu konudaki görüşünüz çok doğru ve güzel özellikle internetten servis yapılmk istendiğinde tabii nasıl yapılacağını biraz daha ayrıntılı ve firebird için açarsanız çok sevinirim.
Yalnız burda sayın vedat kaba arkadaşımız değindiği gibi vt üzerinde yapılan değişikliğin delphi tarafında algılanması ile iligili mesala müsteri adı varchar(20) tanımlanmış ve uygulamada ibquerydesize olarak böyle kullanılmış formlarda veya datamodülde ancak vt'de size'ı değiştirdiğinizde
bu değişkenin kullanıldığı heryeri gözden geçirmek zorunda kalıyoruz bildiğim kadarıyla bunun bi formulü yokmu mesala domain kullandığımızda da domainin size'ını değiştirdiğimizde uygulamada bunlar otamatik algılarmı mesala progress veri tabanında like komutu vardır ve derleme sonrasında vt'deki değişiklikleri otamatik olarak algılar

Çalışmalarınızda başarılar dilerim.