Delphi 2009 ile Firebird’den Interbase (diğer bileşen setlerini denemedim) bileşenlerini kullanarak bir tablodan veri çekmek istediyseniz, “division by zero” hatası ile karşılaşmamış olmanız mucize olarak tanımlanabilir. Uzun süre şahsımın başına dert olan bu hatanın çözümünü sanırım çözemeyenler de merak edecektir.
Hatanın sebebi karakter setlerinden kaynaklanıyor. İşin ilginç yanı, Firebird’deki tabloyu oluştururken UTF8 karakter setini seçmeme rağmen herhangi bir etki yaratmaması idi. Muhtemelen Firebird’ün UTF8 desteğinde sorun var.
Çözüm olarak alanlarınızın karakter setlerini None olarak belirleyebilirsiniz, ancak var olan veritabanlarınız için bunun bir çözüm olduğu söylenemez.
Veritabanınızı bildiğiniz şekilde oluşturmaya devam edebilirsiniz; çünkü IBDataBase bileşeni ile Firebird’e bağlantı kurarken Unicode_FSS karakter setini seçmeniz, çözüm için yeterli olacaktır. Bildiğime göre Unicode_FSS karakter seti eskiden UTF8 yerine kullanılıyormuş.
Delphi 2009, Firebird Ve Division By Zero Hatası
Re: Delphi 2009, Firebird Ve Division By Zero Hatası
Sanki bu delphi'nin firebird veritabanına tavrı var gibi geldi. Sen firebird kullanırmısın
diyor. Kesinlikle FB doğal destek vermek istemiyor.DBexpress interbase driverını kullandığınızda blob data hata veriyor. Bunu sanırım kasıtlı yapıyorlar.Ücretli bileşen alın diyorlar.

-
- Kıdemli Üye
- Mesajlar: 1026
- Kayıt: 11 Şub 2005 02:12
- Konum: İstanbul
Re: Delphi 2009, Firebird Ve Division By Zero Hatası
FIBPLus bileşenlerinde eskiden beri UTF desteği var.