Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-238

Problem with MariaDB-java-client-1.3.3.jar and PreparedStatement

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 1.3.3
    • 1.3.4
    • Other
    • None

    Description

      Hi,

      The following example works well with mysql-connector-java-5.1.38-bin.jar
      but not with MariaDB-java-client-1.3.3.jar

      Here is the error:
      java.sql.SQLSyntaxErrorException: Error preparing query: Unknown column 'TMP.alerte_code' in 'field list'
      at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:125)
      at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
      at org.mariadb.jdbc.MariaDbServerPreparedStatement.prepare(MariaDbServerPreparedStatement.java:117)
      at org.mariadb.jdbc.MariaDbServerPreparedStatement.<init>(MariaDbServerPreparedStatement.java:87)
      at org.mariadb.jdbc.MariaDbConnection.internalPrepareStatement(MariaDbConnection.java:375)
      at org.mariadb.jdbc.MariaDbConnection.prepareStatement(MariaDbConnection.java:222)
      at org.rfa.test.FirstExample.main(FirstExample.java:30)
      Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Error preparing query: Unknown column 'TMP.alerte_code' in 'field list'
      at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.prepare(AbstractQueryProtocol.java:152)
      at org.mariadb.jdbc.MariaDbServerPreparedStatement.prepare(MariaDbServerPreparedStatement.java:99)
      ... 4 more

      Thanks

      example :

      import java.sql.*;
       
      public class FirstExample {
          static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";
          static final String DB_URL = "jdbc:mariadb://localhost:3306/Test";
       
      //  static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
      //  static final String DB_URL = "jdbc:mysql://localhost:3306/WearPdm";
       
          static final String USER = "test";
          static final String PASS = "test";
       
          static final String _SQL =
              "insert into alerte ( alerte_code, alerte_libelle_court, alerte_libelle_long )" +
              "select  TMP.alerte_code, TMP.alerte_libelle_court, TMP.alerte_libelle_long " +
              "from    ( " +
              "select  ? alerte_code, ? alerte_libelle_court, ? alerte_libelle_long " +
              "from   dual " +
              ") TMP";
       
          public static void main(String[] args) {
              Connection conn = null;
              PreparedStatement stmt = null;
              try {
                  Class.forName(JDBC_DRIVER);
                  conn = DriverManager.getConnection(DB_URL,USER,PASS);
                  stmt = conn.prepareStatement(_SQL);
                  stmt.setString(1, "test");
                  stmt.setString(2, "test");
                  stmt.setString(3, "test");
                  stmt.executeUpdate();
                  stmt.close();
                  conn.close();
              } catch(SQLException se) {
                  se.printStackTrace();
              } catch(Exception e) {
                  e.printStackTrace();
              } finally {
                  try {
                      if(stmt!=null) stmt.close();
                  } catch(SQLException se2){ }
                  try {
                      if(conn!=null) conn.close();
                  } catch(SQLException se) {
                      se.printStackTrace();
                  }
              }
          }
      }

      Attachments

        Activity

          People

            diego dupin Diego Dupin
            Augui Régis Augui
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.