Probleme Requête SQL sur JAVA

Fermé
tounsii007 Messages postés 15 Date d'inscription samedi 29 octobre 2016 Statut Membre Dernière intervention 23 mai 2017 - 20 nov. 2016 à 13:13
tounsii007 Messages postés 15 Date d'inscription samedi 29 octobre 2016 Statut Membre Dernière intervention 23 mai 2017 - 20 nov. 2016 à 13:49
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)



A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 nov. 2016 à 13:37
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 ?
0
tounsii007 Messages postés 15 Date d'inscription samedi 29 octobre 2016 Statut Membre Dernière intervention 23 mai 2017
20 nov. 2016 à 13:49
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
0