title: Why I obtain this "SQLSyntaxErrorException: ORA-00933: SQL command not properly ended" when I try to perform this JDBC query?
body: <p>I have some problem trying to implement a simple JDBC query into a Java application.</p>
  
  <p>So I have the following query:</p>
  
  <pre><code>SELECT   D.*
  FROM   coda_tx c, documenti_tx d
  WHERE   C.FK_TIPO_DOC = 99
          AND C.FK_STATO = 1
          AND C.FK_PIVA_MITTENTE = '05779711000'
          AND C.PK_CODA = D.PFK_CODA
          AND C.CANALE='STA'
  </code></pre>
  
  <p>If I run it into <strong>Oracle SQL Developer</strong> it run well and I obtain 2 records as result.</p>
  
  <p>So I have to implement this query into a DAO class of my application in which I definied the following method:</p>
  
  <pre><code>public void getListaFatturePDF(String partitaIva) {
      System.out.println("INTO ottieniListaFatturePDF()");
  
      Blob blobPdf;
      String sql;
  
      StringBuffer sb = new StringBuffer();
      sb.append("SELECT D.*");
      sb.append("FROM coda_tx c, documenti_tx d");
      sb.append("WHERE C.FK_TIPO_DOC = 99");
      sb.append("AND C.FK_STATO = 1");
      sb.append("AND C.PK_CODA = D.PFK_CODA");
      sb.append("AND C.CANALE='STA'");
      sb.append("AND C.FK_PIVA_MITTENTE = '");
      sb.append(partitaIva);
      sb.append("';");
  
      sql = sb.toString();
  
      try {
          statment = connection.createStatement();
          ResultSet rs = statment.executeQuery(sql);
          System.out.println("ResultSet obtained");
      } catch (SQLException e) {
          e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
      }
  
  }
  </code></pre>
  
  <p>The problem is that when I try to perform the previous method is thrown the following <strong>SQLException</strong>:</p>
  
  <pre><code>java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
  
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
      at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
      at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
      at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:762)
      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
      at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1309)
      at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:422)
      at DAO.FatturaDAO.getListaFatturePDF(FatturaDAO.java:43)
      at mainPkg.Main.main(Main.java:74)
  </code></pre>
  
  <p>Why? I think that maybe is something wrong in the SQL syntax but I am not sure about it (because if I perform the query into <strong>Oracle SQL Developer</strong> it works fine)  What am I missing? How can I fix it?</p>
  
  <p>Tnx </p>