Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema su chiamata remota di Stored Procedure.

    Ho la seguente pagina:
    codice:
    <%
    
    Server.ScriptTimeout = 360 
    
    Dim oConn, mCommandSP
    Dim codSocieta, annoMeseRif, residuo, rettifiche, messaggio, errore 
    
    Response.write("<HTML>")
    Response.write("<HEAD>")
    Response.write("<META NAME=""GENERATOR"" Content=""Microsoft Visual Studio 6.0"">")
    Response.write("<TITLE>Caricamento Dati da SIAL in corso...</TITLE>")
    Response.write("</HEAD>")
    Response.write("<link rel=""stylesheet"" href=""/tktStyle.css"" type=""text/css"">")
    Response.write("<BODY>")
    Response.write("
    
    
    
    ")
    Response.write("<table border=""0"" cellpadding=""1"" cellspacing=""1"" align=""center"" width=""400"">")
    Response.write("	<tr>")
    Response.write("		<td align=""center"">[img][/img]</td>")
    Response.write("	</tr>")
    Response.write("</table>")
    		
    'Recupero i parametri
    codSocieta = Session("codSocieta")
    annoMeseRif = Trim(replace(Request.form("periodoRif"),"/",""))
    residuo = Trim(Request.form("residuo"))
    rettifiche = Trim(Request.form("rettifiche")) 
    set oConn = Server.CreateObject ("ADODB.CONNECTION")
    oConn.Open Session("sqlTRConn")
    
    'Invoco la chiamata alla funzione di caricamento dati da SIAL
    Set mCommandSP = Server.CreateObject("ADODB.Command")
    Set mCommandSP.ActiveConnection = oConn
    
    mCommandSP.CommandText = "{? = CALL TKT_GESTIONE_TICKET.tkt_carica_ticket_ras(?,?,?,?,?,?) }"
    mCommandSP.CommandType = adCmdText
    
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("Retval", adInteger, adParamReturnValue)
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_Soc_Codice",adChar,adParamInput,1,codSocieta)
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_AnnoMese_Rif",adChar,adParamInput,6,annoMeseRif)
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_CalcolaResiduo",adChar,adParamInput,1,residuo)
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_SovrascriviRettifiche",adChar,adParamInput,1,rettifiche)
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_Operatore",adChar,adParamInput,16,Session("Username"))
    mCommandSP.Parameters.Append mCommandSP.CreateParameter("O_MESSAGGIO",adVarChar,adParamOutput,4000)
    
    
    mCommandSP.Execute
    
    'Reindirizzamento
    	messaggio = Cstr(mCommandSP.Parameters("O_MESSAGGIO").Value)
    	errore    = Cint(mCommandSP.Parameters("Retval").Value)
    	Set mCommandSP = Nothing
    	oConn.Close
    	Set oConn = nothing
    
    	Response.write("<meta http-equiv=""refresh"" content=""8;URL=/Interfaccia/ListaOrdini.asp?messaggio=" & Server.URLEncode(messaggio)  & """>")	
    	Response.write("</BODY>")
    	Response.write("</HTML>")
    %>
    Mi succede che alle volte che invocando tale pagina, la pagina chiamante risulti lentissima.
    Volevo sapere se per caso la chiamata alla stored procedure avviene prima di tutto il codice presente in questa pagina, oppure no.
    E se il problema di tale lentezza, che mi ha obbligato ad aumentare il tempo di timeout, è legato a questa possibilità.

    S'è così, c'è un modo per ovviare?

    Grazie!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Le stored procedure come tu saprai sono utili quando si utilizzano query complesse più volte nel tempo. Chiaramente di per se se la query è complessa noterai un deterioramento delle prestazioni per il semplice fatto che non si tratta di "select * from tabella;".

    Se tu noti dei picchi marginali, vuol dire che probabilmente il server ha svuotato la cache e pertanto deve rielaborare i dati che prima aveva in memoria e gli consentivano la velocità operativa che tu conosci.

    Il consiglio che posso darti è di controllare il sistema operativo del server.
    Verificare la mole di lavoro che questo server ha, ed eventualmente cercare di chiudere tutti gli oggetti del codice appena non ti servono più.

    A parte questo... un bel serverone nuovo non guasta mai.
    Think global, act local.

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.