Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    errore lanciando stored procedure mysql

    Salve ragazzi,
    Ho bisogno del vostro aiuto, sto impazzendo...
    Ho creato una web application usando mysql 5.0.51 ed in locale tutto gira correttamente.
    In un secondo momento ho cercato di spostare l'applicazione di un server di produzione ma l'applicazione non gira più correttamente, in particolare le stored procedure generano un'eccezione.
    Ecco i passi che ho eseguito.
    Ho creato una stored procedure nel db

    --
    -- Definition of procedure `get_last_richieste`
    --


    codice:
    DROP PROCEDURE IF EXISTS `get_y`; 
    DELIMITER $$ 
    /*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, 
    SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER' */ $$ 
    CREATE DEFINER=`jsys`@`localhost` PROCEDURE `get_y`() 
    BEGIN 
    SELECT REGIONE, NOME_RICHIESTA FROM RICHIESTA WHERE ATTIVA=1 ORDER BY 
    DATA_RICHIESTA DESC LIMIT 3; 
    END $$ 
    /*!50003 SET SESSION SQL_MODE=@TEMP_SQL_MODE */ $$ 
    DELIMITER ;
    La stored è stata creata senza errori.
    Se provo a lanciare la stored con

    CALL get_y

    il db mi restituisce questo errore:

    codice:
    #1312 - PROCEDURE jsys_db2.get_y can't return a result set in the 
    given context
    Se eseguo solo la query contenuta nella stored il db mi restituisce i risultati corretti.
    Il problema sembra essere nella stored.
    Se lancio la stessa stored sul mio server locale tutto funziona correttamente, il problema è solo sul server di produzione.


    Le differenze tra il server locale e quello di produzione sono le seguenti:

    Mysql-Server di produzione:mysql server 5.0.45
    Mysql-Server locale:mysql server 5.0.51
    Porta Mysql-Server di produzione:3308
    Porta Mysql-Server locale:3306


    Quale potrebbe essere il problema?

    Vi prego aiutatemi a capire...

  2. #2
    potrebbe essere il nome dello user usato nel DEFINER della procedura e quello usato dallo user che esegue la query. Deve essere lo stesso USER, oppure un problema di privilegi .... in locale hai privilegi di root e quindi va bene qualunque utente mentre in remoto non hai questi privilegi di root e quindi puo' eseguire la procedura solo l'utente che l'ha creata.....

    Ho speso i mie 2 penny ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.