Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254

    Store procedure: errore di esecuzione

    Ciao a tutti
    il mio problema è questo: devo visualizzare le abilitazioni di un utente e anche le procedure a cui non è ancora abilitato (x consentire nuove abilitazioni)
    Con una store procedure recupero le abilitazioni, le metto in una tabella temporanea e le restituisco x visualizzarle
    Un'altra store procedure recupera tutte le applicazioni che non compaiono nella tabella temporanea, le visualizza e poi elimina la tabella.
    La prima store procedure da query analyzer funziona, recupera i dati e li mette nella tabella. Quando la richiamo dalla pagina ASP, invece, va in errore.

    La SP è
    codice:
    CREATE PROCEDURE abilitazioni_utente
    @cf char(16)
    AS
    SET NOCOUNT ON
    BEGIN
    IF EXISTS (SELECT name FROM sysobjects WHERE name= N'abil_ute_tmp' AND type='U')  DROP TABLE abil_ute_tmp
    CREATE TABLE abil_ute_tmp (
    procedura NVARCHAR(50) NULL,
    livello NVARCHAR(50) NULL,
    utente NVARCHAR(50) NULL,
    cf CHAR(16)
    )
    INSERT INTO abil_ute_tmp
    SELECT abil_desc.proc_des as procedura, abil_desc.liv_des as livello, utenti.nominativo as utente,  utenti.cf as cf
    FROM abil_desc  INNER JOIN utenti ON abil_desc.abi_ute_cf = utenti.cf
    WHERE (((utenti.cf)=@cf));
    
    SELECT * FROM abil_ute_tmp
    END

    Mentre nella pagina ASP c'è
    codice:
    ute=request.form("Dip")
    set objconn=Server.CreateObject("ADODB.Connection")
    cnn=Application("conn_geac_ad")
    objconn.open cnn
    set objCmd = Server.CreateObject("ADODB.Command")
    objCmd.ActiveConnection = objConn
    objCmd.CommandType = 4   'adCmdStoredProc	
    objCmd.CommandText="abilitazioni_utente"
    set parm1=objCmd.CreateParameter("@cf",adChar,adParamInput,16)
    objCmd.Parameters.Append(parm1)
    parm1.Value=ute
    Set objrst_ute=objCmd.Execute()
    e l'errore è:

    Invalid object name 'abil_ute_tmp'

    Ho provato con vari nomi di tabella, ma non cambia nulla
    Non ho usato # davanti al nome della tabella perchè non è una vera tabella temporanea.

    Dove sbaglio?

    Grazie Ciao

  2. #2
    accertati innanzitutto che 'ute' contenga qualcosa

  3. #3
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    se fai girare la sp da quesry analizer (o dal debugger) ti dà errore oppure no?
    Tutti vogliono parlare, nessuno sa ascoltare.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    ute contiene il valore corretto, e da query analyzer funziona perfettamente.

    Grazie ancora
    ciao

  5. #5
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    prova a sostituire queste righe

    set parm1=objCmd.CreateParameter("@cf",adChar,adParamI nput,16)
    objCmd.Parameters.Append(parm1)
    parm1.Value=ute


    con questa
    objCmd.Parameters.Append objCmd.CreateParameter("@cf", adChar, adParamInput, 16, ute)
    Tutti vogliono parlare, nessuno sa ascoltare.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    ho provato, ma continua a dare errore.
    In generale che differenza c'è tra i due metodi?

  7. #7
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    no.

    metti un response.write ute
    response.end

    prima di eseguire la sp e posta il risultato
    Tutti vogliono parlare, nessuno sa ascoltare.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    no
    no cosa? Non capisco

    metti un response.write ute
    response.end

    prima di eseguire la sp e posta il risultato
    Come scritto in un altro post l'ho già fatto, e visualizza il codice fiscale che inserisco nella pagina precedente.
    Con lo stesso codice dal query analyzer trova le abilitazioni e le inserisce nella tabella, mentre quando richiamo dalla pagina asp dà errore sul nome della tabella e non ci scrive nulla.

  9. #9
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    ah, ecco! è un problema di utente

    CREATE PROCEDURE dbo.abilitazioni_utente
    ecc....


    e poi nel file asp


    objCmd.CommandText="dbo.abilitazioni_utente"


    stessa cosa nella SP per la tabella, chiamala dbo.abil_ute_tmp
    oppure meglio ancora, nella SP usa una tabella temporanea


    CREATE TABLE #abil_ute_tmp

    e poi alla fine, dopo la select, metti

    DROP TABLE #abil_ute_tmp
    Tutti vogliono parlare, nessuno sa ascoltare.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    stessa cosa nella SP per la tabella, chiamala dbo.abil_ute_tmp
    oppure meglio ancora, nella SP usa una tabella temporanea
    E' stato sufficiente questo, grazie mille.
    Buon fine settimana
    Ciao

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.