Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    errore chiamata st procedure da asp

    ciao a tutti...

    e la prima volta che provo a chiamare una stored procedure per popolare un recordset ma ricevo sempre lo stesso errore:

    codice:
    Microsoft OLE DB Provider for SQL Server error '80040e37' 
    
    Il nome di oggetto 'tab_clienti' non è valido. 
    
    /xxx.asp, line 29
    vi posto il codice:

    codice:
    set cmd = server.CreateObject("ADODB.command")
    	cmd.ActiveConnection = strConnection 'oggetto connessione
    	cmd.CommandText = "[dbo].[stp_ClientiCheck]" 'nomeStoreProcedure
    	cmd.CommandType = adCmdStoredProc 'storedProcedure
    	set objParametro = cmd.CreateParameter("@varNome",adVarChar,adParamInput,25,"a")
    	cmd.Parameters.Append objParametro
    	set objParametro = cmd.CreateParameter("@varCognome",adVarChar,adParamInput,25,"b")
    	cmd.Parameters.Append objParametro
    	set recset=server.CreateObject("ADODB.recordset")
    	set recset = cmd.execute 
    	IF recset.recordcount>0 THEN	
    		returnValore = recset("idCliente")
    	ELSE
    		returnValore = -1 'nessun cliente trovato
    	END IF	
    		set recset=nothing 
    		set cmd=nothing
    e questa è la stored procedure

    codice:
    CREATE PROCEDURE [dbo].[stp_ClientiCheck] 	
    	@varNome varchar(25),
    	@varCognome varchar(25)
    AS
    SELECT  idCliente from tab_clienti  WHERE nomeCliente LIKE @varNome  AND cognomeCliente LIKE @varCognome
    GO
    mi potete aiutare?

  2. #2
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    il messaggio mi sembra chiaro:
    Il nome di oggetto 'tab_clienti' non è valido

    controlla il nome (e l'owner) della tabella
    Tutti vogliono parlare, nessuno sa ascoltare.

  3. #3
    Comincia a sostituire

    set recset = cmd.execute
    con

    recset = cmd.execute
    e vedi cosa succede.............il recordset lo avevi già creato alla riga precedente, in questo modo lo sovrascrivi creando un'altra cosa.........
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    ok...grazie

    dunque. ho sostituito il set recset con solo recset ma non va...

    a me sembrano problemi dovuti ai permessi dell'utente che si collega a sql server...

  5. #5
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    metti ..... from dbo.tab_clienti
    Tutti vogliono parlare, nessuno sa ascoltare.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    nada...neanche indicando dbo.nome_tabella funziona...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    ok risolto ma a tentativi e non con una conclusione logica...


    ora vi spiego e se potete mi dite come ragiona Sql server:

    - la mia tabella "tab_clienti" e stata creata con un utente che si chiama MioAdmin...

    - le pagine ASP utilizzano un utente chiamato utenteDB.

    - la store procedure ha come proprietario DBO.

    Ora:
    se utenteDB e di tipo public,datareader e datawriter, non potrebbe lanciare la store proc perchè appartiene a DBO.giusto?

    però modificando la store in questo modo:

    codice:
    CREATE PROCEDURE [dbo].[stp_ClientiCheck] 	
    	@varNome varchar(25),
    	@varCognome varchar(25)
    AS
    SELECT  idCliente from mioAdmin .tab_clienti  WHERE nomeCliente LIKE @varNome  AND cognomeCliente LIKE @varCognome
    GO
    riesce ad accedere e ad eseguire la store.

    Ma perche?

    se la store ha come proprietario DBO e la tabella è di proprieta mioAdmin?

  8. #8
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    quando crea la tabella creala come dbo.nometabella e tutto si sistema.
    Tutti vogliono parlare, nessuno sa ascoltare.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    ok.

    il fatto e che le tabelle che ho creato me le sono create come mioAmin come proprietario.

    c'è la possibilità di trasformare il proprietario in DBO?

  10. #10
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    sì, usando la store procedure sp_changeobjectowner
    Tutti vogliono parlare, nessuno sa ascoltare.

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.