Firebird Bağlantı Hatası!
Firebird Bağlantı Hatası!
Merhaba;
Programda Sabit olmayan bölümlerde kilitlenme oluyor. Uygulamayı Reseteleyip tekrar açmak istediğimde veritabanına bağlantı sağlayamıyorum ve aşağıdaki gibi bir hata veriyor(Soldaki Resim). IBExper ile bağlantı sağlamak istediğimde de aşağıdaki gibi hata veriyor(Sağdaki Resim). Firebird'ü Hizmetlerden tekrar Restart ettiğimde ise düzeliyor.
Veritabanı farklı bir makinede (Server Üzerinde), kendi makineme taşıdığımda ise hiç sorun yaşamıyorum.
Teşekkürler.
Programda Sabit olmayan bölümlerde kilitlenme oluyor. Uygulamayı Reseteleyip tekrar açmak istediğimde veritabanına bağlantı sağlayamıyorum ve aşağıdaki gibi bir hata veriyor(Soldaki Resim). IBExper ile bağlantı sağlamak istediğimde de aşağıdaki gibi hata veriyor(Sağdaki Resim). Firebird'ü Hizmetlerden tekrar Restart ettiğimde ise düzeliyor.
Veritabanı farklı bir makinede (Server Üzerinde), kendi makineme taşıdığımda ise hiç sorun yaşamıyorum.
Teşekkürler.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Firewall, antivirüs vesaire 3050 portunu kilitliyor olabilir.
kıdemsiz üye
Re: Firebird Bağlantı Hatası!
Hocam cevap için teşekkürler, Port üzerinde bir engelleme mevcut değil ve bugün yine aynı sorunu yaşamış bulunmaktayım.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Selamlar,
Başımıza şöyle bir şey gelmişti. Bir uygulama yazmıştık, TCP Üzerinden bir port ile kendi oluşturduğumuz bir server'a çeşitli mesajlar atıyorduk. Programlar clientlarda çalışırken birden mesajlar gitmez oluyordu.
Sanırım sebebi, network üzerinde firewall bir süre mesaj alışverişi olan portları ve adresleri hemen kesiyormuş. Yani Client Server'a bağlanıyor komut göndermeye çalışıyor ama Server'a böyle bir komut iletilemiyor. Bir şekilde Firewall araya girip mesajları kesiyordu.
Sizin de benzeri bir durumunuz söz konusu olabilir. TCP üzerinden bağlanıyorsunuz değil mi?
Programınızdaki Connection'da Database'e Alias üzerinden erişiyorsunuz değil mi?
Kolay Gelsin
Başımıza şöyle bir şey gelmişti. Bir uygulama yazmıştık, TCP Üzerinden bir port ile kendi oluşturduğumuz bir server'a çeşitli mesajlar atıyorduk. Programlar clientlarda çalışırken birden mesajlar gitmez oluyordu.
Sanırım sebebi, network üzerinde firewall bir süre mesaj alışverişi olan portları ve adresleri hemen kesiyormuş. Yani Client Server'a bağlanıyor komut göndermeye çalışıyor ama Server'a böyle bir komut iletilemiyor. Bir şekilde Firewall araya girip mesajları kesiyordu.
Sizin de benzeri bir durumunuz söz konusu olabilir. TCP üzerinden bağlanıyorsunuz değil mi?
Programınızdaki Connection'da Database'e Alias üzerinden erişiyorsunuz değil mi?
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Re: Firebird Bağlantı Hatası!
Merhaba;Kuri_YJ yazdı:
Hocam Alias Kullanımı yapmıyorum normal bağlantı kullanıyorum. Uygualama Normal veri kaydetme ve sorgulama için kullanılıyor. Tabi SQL Server ve Firebird aynı sunucudaki 2 farklı DB den veri çekiliyor.
Sizinde yukarıda bahsettiğiniz gibi bir durum var ise Firewall üzerinden 3050 için ayrıcalık mı tanımamız lazımSanırım sebebi, network üzerinde firewall bir süre mesaj alışverişi olan portları ve adresleri hemen kesiyormuş. Yani Client Server'a bağlanıyor komut göndermeye çalışıyor ama Server'a böyle bir komut iletilemiyor. Bir şekilde Firewall araya girip mesajları kesiyordu.
Teşekkürler,
İyi Çalışmalar.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Selamlar,
ALIAS kullanımını bir düşünün. Bağlantı şeklinizde, Database yazan yerler için IP:ALIAS
Örneğin IP Adresi -> 192.168.10.85 olsun
ALIAS'ımız da MUHASEBE olsun.
192.168.10.85:MUHASEBE
olarak bağlanırsınız. Tabi öncesinde, Firebird'ün kurulu olduğu serverda aliases.conf dosyasına (Örneğin bizim FDB dosyamız. D:\DATA\MUHASEBE\MUH.FDB yerinde olsun)
MUHASEBE=D:\DATA\MUHASEBE\MUH.FDB
diyerek kaydetmeniz lazım.
Kolay Gelsin
ALIAS kullanımını bir düşünün. Bağlantı şeklinizde, Database yazan yerler için IP:ALIAS
Örneğin IP Adresi -> 192.168.10.85 olsun
ALIAS'ımız da MUHASEBE olsun.
192.168.10.85:MUHASEBE
olarak bağlanırsınız. Tabi öncesinde, Firebird'ün kurulu olduğu serverda aliases.conf dosyasına (Örneğin bizim FDB dosyamız. D:\DATA\MUHASEBE\MUH.FDB yerinde olsun)
MUHASEBE=D:\DATA\MUHASEBE\MUH.FDB
diyerek kaydetmeniz lazım.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Re: Firebird Bağlantı Hatası!
Dediğiniz gibi yapıp hata tekrar edecek mi sorunu gözlemleyip dönüş yapayım.
İlginiz için Teşekkürler Hocam.
İlginiz için Teşekkürler Hocam.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Merhaba;Kuri_YJ yazdı:
Yukarıdaki kilitlenmeye sebebiyet veren noktayı tespit ettim fakat nedeni ni kavrayamadım bu konuda fikir veya çözüm arıyorum.
Form1 üzerinden Form2 ye erişim yaptığım kodlar aşağıdaki gibi
Kod: Tümünü seç
with TForm2.Create(nil) do
tRY
Try
Application.CreateForm(TForm2, Form2);
ShowModal;
if Assigned(Sorgu) then Sorgu.Free;
if Assigned(YENI_Sorgu) then YENI_Sorgu.Free;
Finally
FreeAndNil(Form2);
End;
except on E: Exception do
begin
ShowMessage('Form2 Açılamadı!'#10#10+'Hata :'+PChar(E.Message));
Raise;
end;
end;
Form2 ile işim bitip kapattığımda Form1 üzerinde bulunan ButtonX in üzerine Mouse ile geldiğimde aşağıdaki hatayı alıyorum ve bunun sonucunda Uygulama Kilitleniyor. F9 ile derlediğim uygulamayı Resetleyip tekrar açtığımda uygulama derlenmeyip hata veriyor. Delphiyi kapatıp tekrar açmam gerekiyor.
Firebird kısmı ise şu şekilde!
Kendi makinemdeki DBye bağlantı sağladığımda hata sonucunda Firebird'ü Resetleme ihtiyacım olmuyor lakin sunucu üzerindeki DB ye bağlandığımda ve hata alıdığımda Firebird resetlenmediği takdirde ilk mesajımdaki hatayı alıyorum.
ButtonX üzerinneki ShowHint özelliğini kapattığımda ise sorun sorun ortadan kalkıyor!
Teşekkürler.
İyi Çalışmalar.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Free yerine FreeAndNil kullanin.
yada Free dedikten sonra manuel NIL yapin.
Cünkü siz Free yapmis olsaniz dahi Assigned sorgunuza True döndürecektir.
Var olmayan bir nesneye ulasmaya calistiginiz icin Access Violation hatasi aliyorsunuz.
yada Free dedikten sonra manuel NIL yapin.
Cünkü siz Free yapmis olsaniz dahi Assigned sorgunuza True döndürecektir.
Var olmayan bir nesneye ulasmaya calistiginiz icin Access Violation hatasi aliyorsunuz.
kıdemsiz üye
Re: Firebird Bağlantı Hatası!
Hocam ilginize Teşekkürler.ikra yazdı:Free yerine FreeAndNil kullanin.
yada Free dedikten sonra manuel NIL yapin.
Cünkü siz Free yapmis olsaniz dahi Assigned sorgunuza True döndürecektir.
Var olmayan bir nesneye ulasmaya calistiginiz icin Access Violation hatasi aliyorsunuz.
Access violation varolmayan bir nesneye erişmek istediğimizde veriyor, Free dediğim kısımlar Form2 ye ait olan nesnelerdi, if assigned(nesne) then nesne.Free; de gereksiz zaten Sonuçta Formu Free ediyoruz.İlginç olan Form2 yi FreeAndNil ile Free ettikten sonra başlıyor, FreeAndNil satırını kaldırınca hata da çıkmıyor anlaşılar Form2 üzerinde Hint özelliğini etkileyen bir durum söz konusu!
İncelemeye devam
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Kod: Tümünü seç
with TForm2.Create(nil) do // BURADA CREATE ETTIGIN FORM2'YI......
tRY
Try
Application.CreateForm(TForm2, Form2); // ...BURADA TEKRAR CREATE EDIYORSUN!
ShowModal;
if Assigned(Sorgu) then Sorgu.Free;
if Assigned(YENI_Sorgu) then YENI_Sorgu.Free;
Finally
FreeAndNil(Form2);
End;
except on E: Exception do
begin
ShowMessage('Form2 Açılamadı!'#10#10+'Hata :'+PChar(E.Message));
Raise;
end;
end;
Kod: Tümünü seç
tRY // TRY'I BASA ALALIM
with TForm2.Create(nil) do
Try // BU TRY FORMU GÖSTERDEN ÖNCE KULLANILSIN KI, SHOWMODAL'DAN GERI DÖNDÜGÜNDE FINALLY DEVREYE GIRSIN
ShowModal;
//if Assigned(Sorgu) then Sorgu.Free; // EGER FORM2 ICINDE FREE EDILIYORSA BURADA FREE EDILMESINE GEREK YOK
//if Assigned(YENI_Sorgu) then YENI_Sorgu.Free; // EGER FORM2 ICINDE FREE EDILIYORSA BURADA FREE EDILMESINE GEREK YOK
Finally
FreeAndNil(Form2); // FORMU FREE EDELIM
End;
except on E: Exception do // HATA MESAJINI YAKALAYALIM
begin
ShowMessage('BU ISTE BIR YALNIZLIK VAR!'#10#10+'Hata :'+PChar(E.Message));
Raise;
end;
end;
kıdemsiz üye
Re: Firebird Bağlantı Hatası!
Hocam Teşkkürler Blokları düzelttikten sonra sorun ortadan kalktı fakat anlamadığım nokta şu Form2 de işlem bitip kapattıktan sonra Form1 üzerinde Diğer tüm işlemleri yapabiliyorum(Kayıt Ekle Güncelle Yeni Sorgular vs.), Sadece ShowHint özelliği True olan nesnelerin üzerine geldiği anda bu hatayı vermesi ilginç değilmi?ikra yazdı:
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Firebird Bağlantı Hatası!
Ana form ile ara formlar exe icinde mi yoksa dll mi kullaniyorsun?
Dll kullanirken hint pencerelerinde böyle bir olay yasamistim. Eger dll kullanmiyorsan su an aklima sebep gelmiyor. Kod boloklarini görmeden birsey diyemem.
Dll kullanirken hint pencerelerinde böyle bir olay yasamistim. Eger dll kullanmiyorsan su an aklima sebep gelmiyor. Kod boloklarini görmeden birsey diyemem.
kıdemsiz üye
Re: Firebird Bağlantı Hatası!
Hocam Dll de kullanmıyorum fakat neden böyle oldu bende anlamadım. Formu görüntülemek kod bloğunu dediğiniz gibi düzenleyince sorun ortadan kalktı.Projenin Bir Backup ını aldım bu kısma tekrar döneceğim Tekrardan ilginize Teşekkürler, ALLAH razı olsun. Yanlış bildiğim bir doğruyu daha öğrendim sayenizde.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..