Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di rumez
    Registrato dal
    Oct 2006
    Messaggi
    15

    Info su connessione a database MySQL

    Ciao a tutti sono nuovo e vi porgo i miei saluti e i miei complimenti per il lavoro che svolgete.
    In questi giorni sto facendo un po' di debug su un'applicazione che ho scritto per vedere di ottimizzare il tutto..dal codice al carico sul server alle connessioni al database.
    Ho notato una cosa molto curiosa..monitorando tramite MySql Administrator le connessioni attive sul database che sto utilizzando ho notato che le connessioni che utilizzo per le mie select restano attive per tot secondi ( circa un minuto ) anche dopo che la pagina è stata caricata e che quindi la connessione è stata chiusa via codice.

    Io nelle mie pagine procedo in questo modo..
    (1) apertura connessione con il database
    (2) esecuzione recordset
    (3) impaginazione risultati
    (4) chiusura recordset
    (5) chiusura connessione

    On Error Resume Next
    ' variabili
    Dim sConnection
    Dim conn

    ' stringa di connessione
    sConnection = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=xxx; UID=xxx; PASSWORD=xxx; OPTION=3"

    ' oggetto connessione
    Set conn = Server.CreateObject("ADODB.Connection")

    ' apertura connessione
    conn.Open(sConnection)

    ' gestione degli errori
    If Err.Number <> 0 Then
    Response.Clear()
    Response.Redirect("errori_messaggio.asp?number=" & Err.Number & "&descr=" & Err.Description & "&source=" & Err.Source)
    End If

    sql = "SELECT * FROM nome_tabella WHERE condizione"

    Set rs = conn.Execute(sql)

    If Err.Number <> 0 Then
    Response.Clear()
    Response.Redirect("errori_messaggio.asp?number=" & Err.Number & "&descr=" & Err.Description & "&source=" & Err.Source)
    End If

    Do While Not rs.EOF
    Response.Write( rs("nome_campo") )
    rs.Movenext
    Loop

    rs.Close
    Set rs = Nothing
    conn.Close
    Set conn = nothing
    Lo script funziona bene l'unico "neo" è quello che vi ho spiegato poco sopra...la connessione sembra non venga chiusa subito ma dopo un lasso di tempo

    Una cosa curiosa è che per priva mi sono creato uno script semplice in PHP che fa sostanzialmente la stessa cosa e la connessione in questo caso viene chiusa istantaneamente.

    Qualcuno ha mai notato questa cosa? Chiedo pareri più autorevoli dei miei...


    Ciao a tutti

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Prima del redirect devi chiudere gli oggetti aperti.

    Roby

  3. #3
    Utente di HTML.it L'avatar di rumez
    Registrato dal
    Oct 2006
    Messaggi
    15
    ok grazie correggo subito...questo però vale solo nel caso si verifichi un errore...

    il punto è un altro...e sinceramente non mi spiego perché la connessione di fatto non venga chiusa quando la chiudo io via codice

  4. #4
    prova a guardare nel sito di mysql, magari sono difetti del driver odbc
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di rumez
    Registrato dal
    Oct 2006
    Messaggi
    15
    grazie della risposta...purtroppo non è così perché ho provato anche con un database Sybase e il risultato è lo stesso..dopo aver chiuso la connessione e distrutto l'oggetto connection la connessione "sembra" resti in piedi per un piccolo lasso di tempo (circa un minuto) e poi viene chiusa....

    in mysql potete controllare la cosa con MySql Administrator nella finestra del monitor delle connessioni attive. Mi piacerebbe avere un riscontro per capire se è un problema di ASP...un "falso problema" di ASP ( perché in fin dei conti alla fine la connessione seppur con ritardo viene chiusa ) o se è un errore mio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.