konuyu özetliyip tartışmayı bitiriyim.
xxx.open komutu ile açtığın tüm DB bağlantılarını, kodda işinin bittiği yerde xxx.close ile kapatılması gerekir.
xxx.execute komutunda açma veya kapatılma diye birşey söz konusu değildir. Bu komutta "aç, işlem yapacağım" demiyorsun, "şunu hemen yap, bitsin" diyorsun. mesela INSERT veya UPDATE işleminde ozellikle bu kullanılır. SELECT için kullanılmaz.
xxx.open ile açılmış bağlantıyı xxx.close ile kapatmazsanız ne olur, şu olur: browser üzerinde sayfa tam olarak gelsede, browser kapatılsa bile, server üzerinde DB bağlantısı connectiontimeout da belirtilmiş süre kadar bağlantıda kalmaya devam eder. Eğer sayfa gösterimi çok ise veya komut çokca tekrarlanmış ise, zamanla kapatılmamış bağlantıların sayısının fazlalığı nedeniyle DB connection pool şişer ve DB nin tepki verme süresi düşer ve sonuçta sayfalar daha yavaş açılmaya başlar. Access kullananlarda ise access patlar..
Not: Access kullananlar, mutlaka asp diyorsanız mssql kullanın.. !!!
__________________
asp,php,.net,mssql,mysql,oracle,delphi,c ...
|