Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Aşırı Field Kullanımı hk.
#1
Zamanında birileri Firebird'de FALAN adında bir tablo tasarlamış. Bu tabloda da sadece 1 satır bilgi var. Parametre niyetine tasarlamışlar, zamanla bu fieldlerin sayısı eklene eklene 537'yi bulmuş...

(Evet, farkındayım, Database Normalizastion Kuralları hak getire, Eyvallah, O kadar field bir tabloda olmaz, eyvallah, ben olsam böyle yapmazdım ona da eyvallah... O nedenle tartışmanın o kısmına hiç girmeyelim... Olmuş bir kere, gençler yapmış bişeler...)

Şimdi, bu tablodan TClientDataSet ile "SELECT FIRST 1 * FROM FALAN" diye bir sorgu çalıştırıldığında 410'uncu field'den sonrası TClientDataSet'e yüklenmiyor.

Sorular şunlar;

* Delphi'nin FieldList'teki Field sayısı ile ilgili bir sınırlaması var mı? Yoksa bu bir BUG mu?
* Böyle bir durumla karşılaşan oldu mu?
* Olduysa nasıl çözdünüz?
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#2
merakımdan soruyorum
select
alan1,
alan2,
alann from tablo seklinde denediniz mi?

“Do. Or do not. There is no try.”
Cevapla
#3
(13-02-2020, Saat: 16:42)uparlayan Adlı Kullanıcıdan Alıntı: Zamanında birileri Firebird'de FALAN adında bir tablo tasarlamış. Bu tabloda da sadece 1 satır bilgi var. Parametre niyetine tasarlamışlar, zamanla bu fieldlerin sayısı eklene eklene 537'yi bulmuş...

(Evet, farkındayım, Database Normalizastion Kuralları hak getire, Eyvallah, O kadar field bir tabloda olmaz, eyvallah, ben olsam böyle yapmazdım ona da eyvallah... O nedenle tartışmanın o kısmına hiç girmeyelim... Olmuş bir kere, gençler yapmış bişeler...)

Şimdi, bu tablodan TClientDataSet ile "SELECT FIRST 1 * FROM FALAN" diye bir sorgu çalıştırıldığında 410'uncu field'den sonrası TClientDataSet'e yüklenmiyor.

Sorular şunlar;

* Delphi'nin FieldList'teki Field sayısı ile ilgili bir sınırlaması var mı? Yoksa bu bir BUG mu?
* Böyle bir durumla karşılaşan oldu mu?
* Olduysa nasıl çözdünüz?

Merhaba,

Alan limiti konusunu hiç araştırmadım fakat aklıma yakın zamanlarda burada FDMemtable ile yaşadığım soruna (bug) benzer bir çözümle deneyebilirsiniz. (Başka bir componenet deneyerek bug veya limit olup olmadığını anlamaya yardımcı olabilir.)

İyi çalışmalar.
Cevapla
#4
(13-02-2020, Saat: 16:47)masteryoda Adlı Kullanıcıdan Alıntı: merakımdan soruyorum
select
alan1,
alan2,
alann from tablo seklinde denediniz mi?

Evet, denedim. 410 field'den sonrasını TClientDataSet yokmuş gibi davranıyor.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#5
@uparlayan  hocam ben MSSQL üzerinde 1024 adet Integer türünde (SQLin desteklediği max sınırı) alan açıp test ettim ClientDataset verileri alıp gösteriyor
Sanırım sorun Firebird ile alakalı olabilir.
Test ettiğim ortam "RAD Studio 10.3 Version 26.0.36039.7899"
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#6
Firebird tek tabloda kapladığı alan olarak 64k destekler diye biliyorum, yani integer 4 byte olarak 16k küsür alan sayısını destekliyordu sanırım.
WWW
Cevapla
#7
(13-02-2020, Saat: 17:45)adelphiforumz Adlı Kullanıcıdan Alıntı: @uparlayan  hocam ben MSSQL üzerinde 1024 adet Integer türünde (SQLin desteklediği max sınırı) alan açıp test ettim ClientDataset verileri alıp gösteriyor
Sanırım sorun Firebird ile alakalı olabilir.
Test ettiğim ortam "RAD Studio 10.3 Version 26.0.36039.7899"

Biz bağlantıyı MİDAS ile yapıyoruz bu noktada bir sıkıntı olabilir mi acaba?
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#8
(13-02-2020, Saat: 18:14)uparlayan Adlı Kullanıcıdan Alıntı:
(13-02-2020, Saat: 17:45)adelphiforumz Adlı Kullanıcıdan Alıntı: @uparlayan  hocam ben MSSQL üzerinde 1024 adet Integer türünde (SQLin desteklediği max sınırı) alan açıp test ettim ClientDataset verileri alıp gösteriyor
Sanırım sorun Firebird ile alakalı olabilir.
Test ettiğim ortam "RAD Studio 10.3 Version 26.0.36039.7899"

Biz bağlantıyı MİDAS ile yapıyoruz bu noktada bir sıkıntı olabilir mi acaba?

Hocam MIDAS ile hiç uğraşmadım. Nasıl çalışır nasıl işlem yapılır bir bilgim yok bu konuda. Kusura bakmayın
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#9
ClieantDataSet mecburi değil ise muadili (FDMemTable, VirtualTable, kbmMemTable v.s. gibi) başka bileşenleri deneyin, belki işinizi görür.
Cevapla
#10
sadece ilgilendiğiniz alanları FDQuery ile çekip ClientDataset'e clone etmenizi öneririm
FDQuery'nin alan sayısını sorun edeceği görülmemiştir
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  pardusda dbeaver ıle fırebırd kullanımı hakkında sadikacar60 8 611 29-02-2024, Saat: 17:50
Son Yorum: Hayati
  Count Kullanımı sunbeki 4 1.178 16-03-2022, Saat: 16:27
Son Yorum: sunbeki
Wink Firebird Over Kullanımı MuhammedYasir 0 933 11-04-2021, Saat: 01:04
Son Yorum: MuhammedYasir
  Procedure bağlantı metodu ve if kullanımı 41linea41 2 2.198 04-05-2020, Saat: 09:52
Son Yorum: esistem
  Left Outer kullanimi 41linea41 2 2.084 24-12-2019, Saat: 07:42
Son Yorum: 41linea41



Konuyu Okuyanlar: 1 Ziyaretçi