Firebird tablosu alan boyutu değişim.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Firebird tablosu alan boyutu değişim.

Mesaj gönderen ikutluay »

Merhaba
Merhaba

Bir firebird veritabanı üzerindeki bazı alanların boyutlarını düşürmek istiyorum. Tek bir satıra bakacak olursam

Sql kodum bu şekilde ve kod da sintaks vs hatası yok. Ancak

Kod: Tümünü seç

alter TABLE CARI_HAREKET alter ACIKLAMA TYPE VARCHAR(90);

Kod: Tümünü seç

Unsuccessful metadata update.
New size specified for column ACIKLAMA must be at least 200 characters.
şeklinde bir hata mesajı veriyor. Tabloda bu alana girilen en uzun bilgi 30 karakter filan . Neden alanı resize edemiyorum.

Bir yerde bir bilgi buldum. Yeni bir alan oluşturun, o alana bilgileri kopyalayın, daha sonra alana yapılan referansları kaldırın, ..... gbi uzun bir liste.

Açıkçası firebirdi açık kaynak ve forumdaki tavsiyeler üzerine ana veritabanı olarak kullanayım diye düşünüyorum ama her seferinde hevesimi kıran birşey çıkıyor. Böyle basit birşey için insanın elinin kolunun bağlanması cidden can sıkıcı. Bunu ms sqlde hiç takılmadan verdiğim kodla yapıyordum oysa.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen mkysoft »

Hiç denemedim ama boyutlandırmadan önce tablonun boş olması gerekiyor olabilir. ayrıca MSSQL ile FireBird'ü karşılaştırmanız garip olur. Unutmayınki MSSQL'de bir önceki versiyonunda aynı şeyi yapamıyordu. 2000 versiyonunda date diye bir alan tipi bile yoktu. Microsoft 3-5 mühendis verirse Firebird'de benzer özellikler kazanır.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen ikutluay »

Merhaba

karşılaştırmıyorum ama böyle şeylerle karşılaşmakta can sıkıcı oluyor. Yani bu hiç yaşanmamış bir sorun olmasa gerek. sonuçta firebird ekibide tek kişi değil. ama identity tipi bir alan ise 3.0 sürüm de gelecek deniyor.

open source bir projeden herşeyi beklememek gerektiği bilecek kadar tecrübem var ama firebird bu alanda yeni çıkmış bir ürün değil. MS ten çok çok daha eski ve tecrübeli.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen NewMember »

değiştirmek istediğiniz alana mutlaka 90 karakterden uzun bir veri yazılmış ki 90 karaktere değiştirmeye izin vermiyor.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen ikutluay »

tabloya bakıyorum öyle bir boyut göremiyorum. hatta 50 karakter bile yok.

bu arada şu randevu sisteminle ilgili sorum vardı onda bakıverirsen.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen ikutluay »

tekrar baktım "OCAK AYI SU FATURASI ÖDEMESİ" içlerinde en uzun olanı. CHAR_LENGTH ile boyutu çektim en babası 22 karakter.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen hi_selamlar »

S.A.

geçici çözüm olarak bu yolu dene bence.


http://www.firebirdfaq.org/faq285/


:!:
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Firebird tablosu alan boyutu değişim.

Mesaj gönderen sabanakman »

Eski alan tipiniz tam olarak nedir bilmiyorum ama eğer CHAR(200) ise (VARCHAR değilse) öncelikle alan tipini VARCHAR(200) olarak değiştirin. Zira CHAR alanlar bilgilerin sağ tarafını boşluk ile doldurduğu için bütün kayıtlar 200 karakter uzunluğunda tutuluyor olabilir. Daha sonra alan değerlerini RTrim ile temizledikten sonra alanı daraltmayı deneyin.

Kod: Tümünü seç

alter TABLE CARI_HAREKET alter ACIKLAMA TYPE VARCHAR(200)
update CARI_HAREKET set ACIKLAMA=RTrim(ACIKLAMA)
alter TABLE CARI_HAREKET alter ACIKLAMA TYPE VARCHAR(90)
FB üzerinde pek bilgim yok ama alan tiplerinin karakteristik özelliği gereği belki böyle bir uygulama probleminizi çözebilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla