folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mysql ODBC Bağlantı Kapatma Problemi



Mysql ODBC Bağlantı Kapatma Problemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Merhabalar,
    Bir proje yaptık fakat projeyi tamamladığımızda bir sorun tespit ettik.

    Şöyleki;
    Microsoft'ın ODBC driverları açık bağlantıları kapatmıyor ve sleep modunda bekliyor. MAX_CONNECTIONS ayarındaki kişi sayısına ulaşınca ise Too Many Connection hatası veriyor.
    WAIT_TIMEOUT süresini 10 yaptık ve 10 saniye sonra sleep olarak bekleyen bağlantılar kapanıyor.

    Şunu sormak istiyorum, ben bu WAIT_TIMEOUT süresini 0 yada 1 yaparsam ne olur?

    Yada bu problem için ne önerirsiniz?

    Ayrıca MAX_CONNECTIONS değerini 100'den 500'e çıkardık.

    Not: Sunucu 8 GB ramli, içerisinde tek site barındıracak olan bir sitedir.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    upp


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Bu bir web sitesiyse, bağlantı işi bittikten sonra kapatılmalı.

    .NET olarak konuşuyorum:

    https://msdn.microsoft.com/en-us/library/system.data.odbc.odbcconnection.close(v=vs.110).aspx

    Kısaca veritabanı bağlantısını using deyimi içine yazarsanız close metodu otomatik çalıştırılır işiniz bittiğinde.

    PHP'de durum daha trajik, her sayfa bir application olarak ele alındığı ve her kullanıcı için ayrı olduğunu gözönüne alırsak işi biter bitmez kapatmanız lazım. 


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam projeyi ne ile yazdınız?


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    .net ile yazdım ama kapanmıyor ağzına sıçtığımın bağlantısı ya using ile denedim, diğer türlü try catch blogunda yazıp finally kısmında kapattım yok yok yok kapanmıyor.

    Sleep modunda kalıyor ve sürekli saniye olarak sayıyor. 10 olarak ayarlayınca sleepler 10'uncu saniyede siliniyor otomatik. Çözüm olarak bunu ürettim.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Şöyle birşey var ayrıca;

    ODBC veri kaynaklarına giriyorum, MySQL 3.51 Driver'ın pooling seçeneğini kapatıyorum. Yinede Sleep olarak kalıyor hepsi.

    Çözümü artık MySQL veritabanında olacak. Merak ettiğim WAIT_TIMEOUT 10 olmasının ne zararı olur?


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    https://stackoverflow.com/questions/33871229/c-sharp-odbcconnection-not-closing 

    Yukarıdaki bağlantıda aynı problemden bahsedilmiş. Diyor ki benim DbDataReader'ım açık kalmış. Bu nesneyi de using içine koydum, sorun çözüldü. Belki sizde de durum aynıdır. ODBC nesnesini kullanan bir başka nesne halen yaşamaya devam ediyordur.

     


    Olaylara karışmayın!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hocam ben şöyle yapmıştım... 1 adet JavaScript dosyam vardı ve X Client için Bağlantıyı sürekli açık tutmam gerekiyordu. 

    Isteğim zaman acıp kapatmak için Long polling ile çözdüm ve şöyle birşey yaptım ;

    Db.Open();

    Bir döngü içerisinde 

    Select 1=1; sorgusunu 2 saniyede bir calıstırıyordum..

    Bu sayede bağlantım hiç kapanmıyordu ve bağlantıyı sonlandırmak için de Db.Close(); diyip yazdığım poling döngüsünde de QueryCalıstırılsınmı diye bir boolean değer ile kontrol sağlıyordum

    Sorunun bu mu bilmiyorum ama bi diyim dedim belki budur..

    MySql de bir sorgu calıstıktan sonra istemci cevap vermediğinde belirli bir süreden sonra bağlantıyı kesiyor... Ya işleyeceksin o değeri benim belirlediğim sürede yada bağlantıyı kapatırım diyor yani MySql. 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Entity kullanmış olsaydın sıkıntı olmazdı.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek
    YeniHarman bunu yazdı

    https://stackoverflow.com/questions/33871229/c-sharp-odbcconnection-not-closing 

    Yukarıdaki bağlantıda aynı problemden bahsedilmiş. Diyor ki benim DbDataReader'ım açık kalmış. Bu nesneyi de using içine koydum, sorun çözüldü. Belki sizde de durum aynıdır. ODBC nesnesini kullanan bir başka nesne halen yaşamaya devam ediyordur.

     

    Tek sayfadaki tek bağlantıda bile hocam kapanmıyor. Eminim yani kapanmadığına. MySQL forumlarında aynı hatadan bir çok kişi bahsetmiş. Çözüm olarak regeditten bir kaç yeri değiştirtmişler ama ben yaptığımda sorunım çözülmedi.

    MhmdAlmz bunu yazdı

    Hocam ben şöyle yapmıştım... 1 adet JavaScript dosyam vardı ve X Client için Bağlantıyı sürekli açık tutmam gerekiyordu. 

    Isteğim zaman acıp kapatmak için Long polling ile çözdüm ve şöyle birşey yaptım ;

    Db.Open();

    Bir döngü içerisinde 

    Select 1=1; sorgusunu 2 saniyede bir calıstırıyordum..

    Bu sayede bağlantım hiç kapanmıyordu ve bağlantıyı sonlandırmak için de Db.Close(); diyip yazdığım poling döngüsünde de QueryCalıstırılsınmı diye bir boolean değer ile kontrol sağlıyordum

    Sorunun bu mu bilmiyorum ama bi diyim dedim belki budur..

    MySql de bir sorgu calıstıktan sonra istemci cevap vermediğinde belirli bir süreden sonra bağlantıyı kesiyor... Ya işleyeceksin o değeri benim belirlediğim sürede yada bağlantıyı kapatırım diyor yani MySql. 

     

     Yok hocam hiç bir şekilde kapatamıyorum. Sunucu üzerinde değiştirdik artık ayarları.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    http://www.csharpnedir.com/articles/read/?id=1034

    Belki işini görür.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
Toplam Hit: 1591 Toplam Mesaj: 12
mysql