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

    asp e stored procedure sql 2008

    buongiorno a tutti

    sono nuovo nel form e novellino nelle stored procedure, ho provoto e visto sul web ma non riesco a capire come risolvere questo problema.

    ho un'applicaizone sviluppasta in asp classic e access, tutto funzionava correttamente finquando i dati non sono diventati troppi e ho dovuto migrare il tutto su sql server 2008.
    Le sql sono andate bene tranne una pagina asp di statistiche che sviluppa troppe query per questo rallenta la ricezione dati e gli utenti connessi. Mi sono documentato sul web ed ho deciso di sviluppare una stored procedure per aumentare le performance della ricezione statistiche ma non ne sono venuto a capo. Potreste indicarmi un esempio di stored procedure in sql server 2008 con dati input output e una pagina asp che riceva questi dati e li stampi a video in una tabella?

  2. #2
    esattamente, cos'è che non sai fare? la stored procedure o come richiamarla?

  3. #3
    Sql server non l'ho mai usato ho studiato un po le stored ma non riesco a strurrure una stored con while e recuperare i dati da asp

  4. #4
    ok, iniziamo dalla stored (anche se la sezione più adatta sarebbe database). cosa devi fare?

  5. #5
    come ti accennavo ho delle difficoltà sulle Store Procedure di sql server 2008
    >
    > ho creato uno script con una serie di sql che popolano una tabella con dei risultati, tutto funzionava con access, purtroppo, come ben sai, superata una soglia di informazioni access rallenta le sue performance per questo ho trasferito il tutto su sql server 2008. Purtroppo quello script è molto lento con sql server per questo volevo trasformarlo come SP.
    > Lo script ha una prima sql che prende tutti gli id degli utenti poi con una while cicla tutte le sql mettendo l'id della prima sql come ricerca
    >
    > esempio
    >
    > _SQL = "select * from utenti"
    > ___ Set rs22 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs22.Open cmdTemp, ,3, 3
    > ___
    > ___ do while not rs22.eof
    > ___ id_operatore = rs22("ID_utente")
    > ___
    > SQL = "SELECT Sum(quanti1) AS q1 FROM clienti where (data>="&cerca_da&") And (data<="&cerca_a&") and piano1 LIKE '%offerta integrata%' and biz1='on' and idoperatore=" & id_operatore
    > ___ Set rs23 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs23.Open cmdTemp, ,3, 3___
    > ___ dim int1
    > ___ int1 = rs23("q1").value___
    > ___
    > ___ SQL = "SELECT Sum(quanti2) AS q2 FROM clienti where (data>="&cerca_da&") And (data<="&cerca_a&") and piano2 LIKE '%offerta integrata%' and biz2='on' and idoperatore=" & id_operatore
    > ___ Set rs24 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs24.Open cmdTemp, ,3, 3___
    > ___ dim int2
    > ___ int2 = rs24("q2").value___ ___
    > ___ ___
    > ___ SQL = "SELECT Sum(quanti3) AS q3 FROM clienti where (data>="&cerca_da&") And (data<="&cerca_a&") and piano3 LIKE '%offerta integrata%' and biz3='on' and idoperatore=" & id_operatore
    > ___ Set rs25 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs25.Open cmdTemp, ,3, 3___
    > ___ dim int3
    > ___ int3 = rs25("q3").value___ ___
    > ___
    > ___ SQL = "SELECT Sum(quanti4) AS q4 FROM clienti where (data>="&cerca_da&") And (data<="&cerca_a&") and piano4 LIKE '%offerta integrata%' and biz4='on' and idoperatore=" & id_operatore
    > ___ Set rs26 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs26.Open cmdTemp, ,3, 3___
    > ___ dim int4
    > ___ int4 = rs26("q4").value___
    > ___
    > ___ SQL = "SELECT Sum(quanti5) AS q5 FROM clienti where (data>="&cerca_da&") And (data<="&cerca_a&") and piano5 LIKE '%offerta integrata%' and biz5='on' and idoperatore=" & id_operatore
    > ___ Set rs27 = Server.CreateObject("ADODB.Recordset")
    > ___ cmdTemp.CommandText = SQL
    > ___ Set cmdTemp.ActiveConnection = Cn
    > ___ rs27.Open cmdTemp, ,3, 3___
    > ___ dim int5
    > ___ int5 = rs27("q5").value___
    > ___ if blint1 <> int1 then
    > ___ __ int1 = int1
    > ___ _ else
    > ___ __ int1=0
    > ___ _end if
    > ___ _if blint2 <> int2 then
    > ___ __ int2 = int2
    > ___ _ else
    > ___ __ int2=0
    > ___ _end if
    > ___ _if blint3 <> int3 then
    > ___ __ int3 = int3
    > ___ _ else
    > ___ __ int3=0
    > ___ _end if
    > ___ _if blint4 <> int4 then
    > ___ __ int4 = int4
    > ___ _ else
    > ___ __ int4=0
    > ___ _end if
    > ___ _if blint5 <> int5 then
    > ___ __ int5 = int5
    > ___ _ else
    > ___ __ int5=0
    > ___ _end if
    > ___ if int2 <> "" then
    > ___ int1 = int1 + int2
    >
    > ___ _ if int3 <> "" then
    > ___ _ int1 = int1 + int3
    > ___ __
    > ___ ___ if int4 <> "" then
    > ___ ___ int1 = int1 + int4
    > ___ ___
    > ___ ___ _if int5 <> "" then
    > ___ ___ _ int1 = int1 + int5
    > ___ ___ _
    > ___ ___ _end if
    > ___ ___ end if
    > ___ end if
    > ___ end if___
    > ___
    > rs23.close___
    > rs24.close___
    > rs25.close___
    > rs26.close___
    > rs27.close
    >
    > poi la while popola la cella della tabella e riprende il ciclo.
    >
    > La mia domanda è
    >
    > come posso trasformare il tutto in stored procedure :-(
    >
    > Grazie 1000 _

  6. #6
    non mi hai detto cosa devi fare e, onestamente, non mi metto a studiare il tuo codice per capire quali siano le tue esigenze. di sicuro fai un sacco di giri inutili, e credo che eliminando tali giri il tutto torni a essere veloce anche con access (ripeto, è più un problema di database che di asp)

    se mi dici quali dati hai in input e cosa vuoi in output si può iniziare a ragionare.

    dicci anche di quanti dati stiamo parlando (mille record? un milione? un miliardo?)

  7. #7
    scusami non volevo che studiassi il codice facevo un esempio per capire la struttura

    di seguito la tabella db

    idcliente int
    idoperatore float
    data float

    piano1 nvarchar(255)
    piano2 nvarchar(255)
    piano3 nvarchar(255)
    piano4 nvarchar(255)
    piano5 nvarchar(255)

    quanti1 float
    quanti2 float
    quanti3 float
    quanti4 float
    quanti5 float

    n_verde nvarchar(255) Checked
    cons1 nvarchar(255) Checked
    cons2 nvarchar(255) Checked
    cons3 nvarchar(255) Checked
    cons4 nvarchar(255) Checked
    cons5 nvarchar(255) Checked
    biz1 nvarchar(255) Checked
    biz2 nvarchar(255) Checked
    biz3 nvarchar(255) Checked
    biz4 nvarchar(255) Checked
    biz5 nvarchar(255) Checked


    dovrei ottenere una tabella con la somma della specifica dei piani tra date

  8. #8

  9. #9
    cosi da ottenere la tabella in allegato
    Immagini allegate Immagini allegate

  10. #10
    è una tabella pivot. Access è in grado di generarle facilmente: lancia Access e prova direttamente da dentro. Se i dati non sono milioni, resta con Access, con gli altri db fare tabelle pivot è più difficile

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.