Probleme Requête SQL sur JAVA [Fermé]

Signaler
Messages postés
15
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
23 mai 2017
-
Messages postés
15
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
23 mai 2017
-
Bonjour,
j'ai essayé d'éxecuter cette methode qui permet d'afficher les Tickets qui utilisent le Composant numéro 1 .
 public List<meinpack.Ticket> getKompTicket(Integer id) throws SQLException {
       
        String sql = "SELECT tid, ticket.name , autor " +
             "FROM ticket  "
               +  "INNER JOIN komponent ON ticket.komponente= komponent.kompid"
                + "WHERE( ticket.komponente='1');";
        
              
        try (PreparedStatement ps = conn.prepareStatement(sql)) {
            ResultSet rs = ps.executeQuery();
            List<meinpack.Ticket> Komp = new ArrayList<>();
            while (rs.next()) {
                 Komp.add(new meinpack.Ticket (rs.getInt("tid"),rs.getString("name"),rs.getString("autor")));
               
                             
            }
           
              return Komp;
        }
   }



la même Requête SQL fonctionne correctement sur le POSTgres mais dans ma classe Java ne fonctionne plus (pourtant la table "Komponent" existe déjà ) ..
               SELECT * 
               FROM ticket  
               INNER JOIN komponent  ON ticket.komponente=komponent.kompid
                WHERE komponente='1'  ;


le message d'erreur après l’exécution de la classe est le suivant :

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: org.postgresql.util.PSQLException: ERREUR: le schéma « komponent » n'existe pas
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:461)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
cause mère

javax.servlet.ServletException: org.postgresql.util.PSQLException: ERREUR: le schéma « komponent » n'existe pas

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838)
org.apache.jsp.TicketKomponent_jsp._jspService(TicketKomponent_jsp.java:178)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
cause mère

org.postgresql.util.PSQLException: ERREUR: le schéma « komponent » n'existe pas
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2458)
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2158)
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:291)
org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:432)
org.postgresql.jdbc.PgStatement.execute(PgStatement.java:358)
org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:171)
org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:119)
meinpack.DatabaseService.getKompTicket(DatabaseService.java:119)
org.apache.jsp.TicketKomponent_jsp._jspService(TicketKomponent_jsp.java:134)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)



2 réponses

Messages postés
16307
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 avril 2021
2 820
Bonjour,

Est-ce que tu as fait les GRANT sur la table komponent pour que le user utilisé par ton programme puisse y accéder ?
Messages postés
15
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
23 mai 2017

j'ai résolu le problème avec cette modification dans la requête SQL :

 public List<meinpack.Ticket> getKompTicket(Integer id) throws SQLException {
       
        String sql = "SELECT tid, ticket.name , autor " +
           " FROM ticket  "
               +  "INNER JOIN komponent ON komponente= kompid "
                + "WHERE( ticket.komponente='"+id+"');";
        
              
        try (PreparedStatement ps = conn.prepareStatement(sql)) {
            ResultSet rs = ps.executeQuery();
            List<meinpack.Ticket> Komp = new ArrayList<>();
            while (rs.next()) {
                 Komp.add(new meinpack.Ticket (rs.getInt("tid"),rs.getString("name"),rs.getString("autor")));
               
                             
            }
           
              return Komp;
        }
   }



mercii