firebird 1.5 dan 2 ye gectim bazi alanlar read-only oldu

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

firebird 1.5 dan 2 ye gectim bazi alanlar read-only oldu

Mesaj gönderen spoke25 »

Bende analam veremedim fakat firebird1.5 kuulnırken 2 kurdum ve bazi, tablelerimde attemped reed-only colums uyarısı aldım. 2 yi kaldırdım ve tekrar 1.5 kurdum sorun ortadan kalktı.

hatamı yapıyorum zaten 2.de sysdbaadabn farklı bir şifre ilede create işlemi yapamıyordum.. Sanırım 2 ye gecmekiçin acele etmeye hiç gerek yok.
Başlayan Herşey Birgün Bitmek Zorundadır.
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

ne tür alanlar hocam bunlar bu alanların bağlı olduğu datasette karmaşık bir sql ifadesi varmı..öğrenelimde bizde aynı hataya düşmeyelim..
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

ilginçç lşaşırdımm kaldımm
yani faturanınn master tablosunda normalde computed alan yok. faturanın hareketlerinden giren veya çıkan alanları cıkan alanı gidiyor masterdaki fatura toplamına ekliyor veya cıkartıyor.

kdv ve iskonto toplamlarıda bu şekilde. yanii fatura hareketine bir giriş oldumu başlık tablosuna ekleme yapıyor. birde faturaya ait depo işlem tarihi gibi bazı bilgileri cekiyor. işin garibi ben bunun aynısının tıpkısını irsaliyede de kullnıyorum fakat onda problem olmadı.


Anlamadım gittim onunla uğraşamayacağım şu an. Birde dataset felan alakalı değil ben veri girişini İbexperten yapıparken bana bu hatayı veriyor.
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

bu fb 2 den kaynaklı değil. IBX7-FB2 uyum problemi olabilirmi
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

bu fb 2 den kaynaklı değil. IBX7-FB2 uyum problemi olabilirmi
sayın hocam İbexpert ile veri giriyorum

ve sorun 2 yi kaldırdığımda Ortadan kalkıyor

diye söylemişim.. Varın artık siz ibx7 den diyin orası sizin yorumunuz.
Başlayan Herşey Birgün Bitmek Zorundadır.
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

Birde 1.5 den veri tabanını yedekleyip 2.0 da geri yüklemeyi dene.
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

Hata mesejı şu şekilde
This column cannot be updated because it is derived from an SQL function or expression.
attempted update of read-only column.
@ali erdogan bahsetğin şekilde olmadı
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

http://www.firebirdsql.org/index.php?op=faq#q0025.dat

In Firebird 2.x I'm getting the error "General SQL error. Attempted update of read-only column" in code that used to work in v.1.5.3. I'm not using any computed fields. Is this a bug?
You have a trigger somewhere that is referring to a NEW or OLD context variable in the wrong context. From v.2.0, you will get this exception if, for example, you try to assign to NEW.Afield in an After Update trigger.
Evet 1.5 ta hata olmayabilir ama 2 de hatayımış Boylece anlamış olduk :)
Başlayan Herşey Birgün Bitmek Zorundadır.
windofmay
Üye
Mesajlar: 35
Kayıt: 19 Ağu 2003 06:42

Mesaj gönderen windofmay »

peki INSERT ve/veya UPDATE trigger lardaki NEW ve OLD lar yerine bu hatayı kaldırmak için ne yazmalıyız? bilen var mı ?
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

windofmay yazdı:peki INSERT ve/veya UPDATE trigger lardaki NEW ve OLD lar yerine bu hatayı kaldırmak için ne yazmalıyız? bilen var mı ?
new ve old sql komutlarını kullanmak gerekiyor. 1.5 da triggerin bağlı olduğu table adı referans verilebiliyordu. 2.0 da old ve new kullanman gerekiyor...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

spoke25 yazdı:http://www.firebirdsql.org/index.php?op=faq#q0025.dat

In Firebird 2.x I'm getting the error "General SQL error. Attempted update of read-only column" in code that used to work in v.1.5.3. I'm not using any computed fields. Is this a bug?
You have a trigger somewhere that is referring to a NEW or OLD context variable in the wrong context. From v.2.0, you will get this exception if, for example, you try to assign to NEW.Afield in an After Update trigger.
Evet 1.5 ta hata olmayabilir ama 2 de hatayımış Boylece anlamış olduk :)
Benzer bir olay bizim başımıza geldi. Aslında bu bir hata değil, bir düzeltme.

Firebird 1.5'ta triggerlarda old değerlerine veya after update triggerında new değerlerine değer atanabiliyormuş. Aslında tamamen mantıksız bir atama ama Firebird 1.5 buna kızmıyormuş. Firebird 2.0'da bunu olması gerektiği gibi yapmışlar.

Dolayısıyla bu hatayı aldığınız zaman triggerlarınızda yanlışlıkla bu değerlere atama yapmış mısınız bakmanızda fayda var.

Kolay gelsin.
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Güç bela 1,5 dan 2,0,1 a terfi ettik daha doğrusu öyle sandım, olmadı.
Database yeni Tablo yeni alanlar açıldı tablo oluşturuldu vs. geldi sıra triger yazmaya :shock: aynen yukarda belirtilen hata.
Anlaşılan benim gibi muzdarip olan çoğunlukda bakalım kim çözüp bu sıkıntıyı atlatmamıza yardımcı olacak.
Ben paşa paşa 1,5 a dönüyorum malesef..
Fırsat buldukça araştıracağım elbet ama şu anda yapmam gereken bir proje var..

Herkese Kolay Gelsin..
Ben Toprağın Sinesinde İnsan Denilen Bir Canım
Hem Düşünür, Hem Severim Budur Taştan Faklı Yanım.
Her maddenin zevlesini bedenimde taşıyorsam.
Ben ne bir taş ne bir ağaç, insanlığımla insanım.
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

after trrigerlarda new kulanmayacaksın hatamata yok 2 de
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bu bir hata değil. Zaten old. değerlerine bir atama yapmanın veya after update triggerında new değerine bir atama yapmanın mantığı yok. Hata veren triggerlarınızı bir gözden geçirip, düzeltin.

Kolay gelsin.
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

Kod: Tümünü seç

  if (new.f_referans is null) then  
        new.f_referans = gen_id(gen_sulama_fisi_id,1);
peki hocam yukardaki kodu nasıl yazmam gerekiyo,
ben bütün database işlemlerinde ibexpert kullanıyorum,
alanın başına new koymaz isem bu seferde ibexpert hata veriyor.

Teşekkürler.
Ben Toprağın Sinesinde İnsan Denilen Bir Canım
Hem Düşünür, Hem Severim Budur Taştan Faklı Yanım.
Her maddenin zevlesini bedenimde taşıyorsam.
Ben ne bir taş ne bir ağaç, insanlığımla insanım.
Cevapla