Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Connessioni multiple MYSQL, problema server

    Salve,
    per gestire nel migliore dei modi un magazine online sono passato da Access a Mysql per gestire il database.

    Ora però mi è arrivato un avviso del mio hosting che recita come segue

    codice:
    Salve,
    la presente per informarla che rileviamo all'interno del server database, numerose connessioni contemporanee aperte e mai chiuse relative al database in oggetto; cio' provoca una saturazione sulle connessioni al server database. La preghiamo di controllare i suoi script e gestire correttamente la connessione al db aprendo e chiudendo le connessioni, altrimenti saremo costretti a fermare il sito.Grazie per l'attenzione
    io in pratica nella homepage ho circa 20 connessioni al database per estrapolare i dati che mi servono.

    Considerando che ho una decina di altre pagine, ognuna di essere apre e chiude la connessione 4,5,10 volte a seconda del tipo di pagina.

    ho il file di inclusione della stringa e vari di cui mi servo per creare la mia pagina, ognuno dei quali al suo interno ha il codice hmtl e quello asp che mi necessitano.

    in pratica questo è un esempio di pagina

    codice:
    <%
    Dim rs
    Dim rs_cmd
    Dim rs_numRows
    
    Set rs_cmd = Server.CreateObject ("ADODB.Command")
    rs_cmd.ActiveConnection = MM_Conn_STRING
    rs_cmd.CommandText = "SELECT * FROM tabella ORDER BY datainserimentoArticolo DESC" 
    rs_cmd.Prepared = true
    
    Set rs = rs_cmd.Execute
    rs_numRows = 0
    %>
    
    l'html della pagina con all'interno i response.write del caso
    
    e poi 
    
    <%
    rs.Close()
    Set rs = Nothing
    %>
    come posso fare per ottimizzare tutte le connessioni?

    Visto che ci sono vorrei chiedere lumi sulla gestione delle connessioni per evitare in futuro problemi di questo genere.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma la connessione aperta dove la chiudi?

    Roby

  3. #3
    alla fine della pagina che includo.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Eh ma dal tuo esempio di pagina non lo vedo.

    Roby

  5. #5
    questa è un esempio di pagina principale

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    script vari, css e metadati...
    </head>
    
    <body>
    
    
      
    
      
    
    
    </body>
    </html>
    e questo è quello che ho nell'include1 ad esempio

    codice:
    <%
    Dim rs
    Dim rs_cmd
    Dim rs_numRows
    
    Set rs_cmd = Server.CreateObject ("ADODB.Command")
    rs_cmd.ActiveConnection = MM_Conn_STRING
    rs_cmd.CommandText = "SELECT * FROM tabella" 
    rs_cmd.Prepared = true
    
    Set rs = rs_cmd.Execute
    rs_numRows = 0
    %>
    
    
    
    <%=(rs.Fields.Item("corpoArticolo").Value)%></p>
    
    <%
    rs.Close()
    Set rs = Nothing
    %>
    in include2.asp ho invce questo

    codice:
    <%
    Dim rs1
    Dim rs1_cmd
    Dim rs1_numRows
    
    Set rs1_cmd = Server.CreateObject ("ADODB.Command")
    rs1_cmd.ActiveConnection = MM_Conn_STRING
    rs1_cmd.CommandText = "SELECT * FROM tabella" 
    rs1_cmd.Prepared = true
    
    Set rs1 = rs1_cmd.Execute
    rs1_numRows = 0
    %>
    
    
    
    <%=(rs1.Fields.Item("corpoArticolo").Value)%></p>
    
    <%
    rs1.Close()
    Set rs1 = Nothing
    %>
    e via dicendo...

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ok, ma "rs1" è un recordset non la connessione... che quindi rimane aperta.

    Roby

  7. #7
    la connessione è questa

    <%
    Dim MM_Conn_STRING
    MM_Conn_STRING = "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=127.0.0.1; DATABASE=nomedb; UID=root;PASSWORD=pwd; Option=3"
    %>

    racchiusa in

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E quella è l'apertura di "connessione" alla fine di ogni pagina dovrai mettere anche un inclusione che chiuda la "connessione" tipo cosi:
    <%
    MM_Conn_STRING.Close
    %>
    non settando connessione esempio:
    Set Conn=Server.CreateObject("ADODB.Connection")
    ma facendo degli execute non credo che serva la "distruzione"
    set conn = Nothing
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    quindi in pratica io devo avere una cosa del genere?

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    script vari, css e metadati...
    </head>
    
    <body>
    
    
      
    
      
    
    
    </body>
    </html>
    per ogni pagina, al fine di chiudere ogni volta la connessione?

    e quindi non ho neppure limiti di recordset?

  10. #10
    ho fatto così

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    script vari, css e metadati...
    </head>
    
    <body>
    
    
      
    
      
    
    
    </body>
    </html>
    in cui è:
    codice:
    <%
    Dim MM_Conn_STRING
    MM_Conn_STRING = "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=127.0.0.1; DATABASE=nomedb; UID=root;PASSWORD=pwd; Option=3"
    %>
    e in cui è:

    codice:
    <%
    MM_Conn_STRING.Close
    %>
    però mi riporta questo errore inerente questa riga "MM_Conn_STRING.Close"

    Errore di run-time di Microsoft VBScript error '800a01a8'
    Necessario oggetto: 'DRIVER={MySQL ODBC 5'
    /Connections/Close.asp, riga 2

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.