IB Expert de alan silme hatası

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
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

IB Expert de alan silme hatası

Mesaj gönderen Uğur1982 »

merhaba arkadaşlar;

IB expert de Bir alanı ( ADR1 VARCHAR | NEW_DOMAIN | 50 ) silmek istediğimde verdiği hata şu:

Kod: Tümünü seç

This operation is not defined for system tables.
unsuccessful metadata update.
ERASE RDB$RELATION_FIELDS failed.
lock conflict on no wait transaction.
deadlock.
update conflicts with concurrent update.
Aynı şekilde delphiden bu alanı SQL koduyla ( ALTER TABLE CARIKART DROP ADR1) silmek istediğimde ise:

Kod: Tümünü seç

Project Project1.exe raised exception class EIBInterBaseError with message 'unsuccessful metadata update cannot delete column ADR1 there
are 1 dependencies.' 

acaba bu hata neden verebilir.domain isminide simeyi denedim olmadı.bu alanı silmemi izin vermiyor.alana İndex falan bağlı değil.

vt: Firebird

Teşekkür ederim.
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

Ayrıca ekliyim dedim bu alana bağlı TIBDatabase nesnesi açık,(buna bağlı herşey aktif) iken IBdataset nesnesinin verdiği hata :

Kod: Tümünü seç


Project Project1.exe raised exception class EIBInterBaseError with message 'corversion error from string ''''''.

TIBDatabase nesnesi kapalı,(buna bağlı herşey pasif) iken programın verdiği verdiği hata :

Kod: Tümünü seç

Project Project1.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error SQL error code=-104 invalid command data type unkown'.

bana çok garip geldi halbuki Ibdatabase bağlantısı kapalı;
ilk defa başıma geliyor.
(viewtopic.php?t=2975&highlight=lock+conflict) adresindeki yazıyı okudum bunda sadece
ADR1 alanı hata veriyor.diğer alanlarda sorun yok.
herhalde bizim VT gidici...-)

Teşekkürler
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

FB/IB hangisini kullandığını belirtmemişsin. Server ı down et diskteki lck dosyasını sil server ı tekrar aç. Bu arada bu database hiç bir şey bağlı olmasın. Daha doğrusu server ı down edeceğin için hiç bir db conncted olamaması daha doğru :)

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Database acık iken den ziyade aktif bir transaction var ise tabiki silmene izin vermez.
ibexpert te sil isaretine benzeyen siyah carpı butonu transactionı kapatır.
Transaction ı kapatıp o alanı silmeye calıs. (tablo ozelliklerinde)
ÜŞENME,ERTELEME,VAZGEÇME
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

Freeman35,gkimirti hocam ilginiz için sağolun
dediklerinizin her ikisini denedim olmadı :)

aynı hatalar devam ediyor.Bu hataların neden - sonuç ilişkisiyle açıklarsanız sevinirim.
vt Firebird 1.5

Teşekkür ederim.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

alan isminde turkce karakter falan mı var?
direkt sql ile ALTER TABLE TABLO_ADI DROP ALAN_ADI
seklinde deneyin
ÜŞENME,ERTELEME,VAZGEÇME
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

Alan isimlerinde türkçe karekter yok sorunlu alan ADR1,ADR2(VARCHAR | NEW_DOMAIN | 50 ) alanı

Kod: Tümünü seç

alıntı:
direkt sql ile ALTER TABLE TABLO_ADI DROP ALAN_ADI deneyin
böyle denedim hem delphide ,ib expertte olmuyor
verdiği hata hala

Kod: Tümünü seç


Cannot commit transaction:
This operation is not defined for system tables.
unsuccessful metadata update.
cannot delete.
COLUMN ADR1.
there are 1 dependencies.
hocam bana sanki vt nin sistem ayarları bozulmus gibi geliyor.ne yapsam sorunlu:)

teşekkürler.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ADR1 alanı bir yerde kullanılıyor bu bir trigger storedproc falan olabilir
yada bir kontrol (check)
ibexpert te dependencies tabından nerde kullanıldıgını gorebilirsiniz.
ÜŞENME,ERTELEME,VAZGEÇME
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba ;

hocam ilginiz için sağolun sizin zamanınızı aldım kusura bakmayın;

bitane ona bağlı bir SP vardı onu da sildim,trigger yok ama yine aynı hata düzeltilemiyor.farkettim IB Expertte tablonun data kısmına tıkladığımız zaman
verdiği hata

Kod: Tümünü seç

overflow accurred during data type conversion.conversion error from string ''''.
hocam ben bundan vazgeçtim vt yi yeniden oluşturayım.8 table var 4 SP var şimdilik alanları tekrar oluşturmak zaman alır(100 table da olabilirdi). daha hızlı bir kolay yolu
var mıdır.
çok zamanızı aldım (Allah sizlerden razı olsun)

teşekkür ederim.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

databasein metadata sını alarak script editorde calıstırarak anında database in bir klonunu elde edebilirsin.
ÜŞENME,ERTELEME,VAZGEÇME
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

sağolun
uzun oldu ama bi sonuca vardık
teşekkürler:)
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Aklıma gelen senin sisteminde bir hata olabilir.
Cannot commit transaction:
This operation is not defined for system tables.
unsuccessful metadata update.
cannot delete.
COLUMN ADR1.
there are 1 dependencies.
Bu mesajda ilk yazdıklarından farklı hata var, Gökmende yazmış zaten. Anahtar kelime "dependencies" yani bu alanı bir triger,SP, yada view içinde kullanıldığı için silinmesine izin vermez.

Bir diğer konuda eğer db de çok fazla yazıp silmeler olduysa, tasarım aşamasında normaldir. Arada Backup-restore etmek oldukça iyidir.

İlk yazdığın hata ile karşılaştığında, daha sonralarıda eğer karşılaşırsan yukarıda dediklerimi yapman daha iyi olur. yani transaction dosyasını düzeltmen. Daha sonraları hatalar büyüyebilir. Bir kere böyle bir şey başıma gelmişti

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

evet bende bi çaresi olmalı diye düşünüyordum:)

"ADR1,ADR2" alanı vt yi ilk oluşturduğumda sorun olmuştu silememiştim
bide bu alanı kullanamadığım için ADR5,ADR6 alanını oluşturdum.kullandım tabi bayaa bi kayıt girdik sildik .dedim artık bu "ADR1,ADR2" işe yaramaz sileyim dedim :) silemedim.domainini değiştirdim bi sefer yukarıdaki hatalar verdi .hatalı haliyle backup/restore etmeye çalıştım olmadı

Kod: Tümünü seç

  alıntı:
İlk yazdığın hata ile karşılaştığında, daha sonralarıda eğer karşılaşırsan yukarıda dediklerimi yapman daha iyi olur. yani transaction dosyasını düzeltmen.

alıntı:
Bir diğer konuda eğer db de çok fazla yazıp silmeler olduysa, tasarım aşamasında normaldir.


backup/restore transaction dosyasını(veritabanını) düzeltiyor mu?
tasarım bitti diyelim müşteride böyle sorun olursa ne yapmalıyız

teşekkür ederim.
elektron2811
Üye
Mesajlar: 4
Kayıt: 15 Eki 2005 11:11

Re: IB Expert de alan silme hatası

Mesaj gönderen elektron2811 »

Bu sorun ile ben de karşılaştım. Bunu kolayca şöyle çözebilirsiniz. İlgili procedur üzerine sağ tıklayın (IBEXPERT ile) deactivates procedures seçiniz. Prosedure geçici olarak kapatmış oluyoruz. Gerekli düzeltmeyi yaptıktan sonra bu sefer activate procedures seçin.
anemos
Üye
Mesajlar: 110
Kayıt: 02 Nis 2007 07:51
Konum: Sakarya / Hendek

Re: IB Expert de alan silme hatası

Mesaj gönderen anemos »

elektron2811 yazdı: 21 Kas 2019 09:40 Bu sorun ile ben de karşılaştım. Bunu kolayca şöyle çözebilirsiniz. İlgili procedur üzerine sağ tıklayın (IBEXPERT ile) deactivates procedures seçiniz. Prosedure geçici olarak kapatmış oluyoruz. Gerekli düzeltmeyi yaptıktan sonra bu sefer activate procedures seçin.
@elektron2811, bu özellik yalnızca tam sürümde mi var? Bildiğim kadarıyla pasife alma işlemi yalnız trigger için geçerli idi. :roll:
Cevapla