This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

Unsupported command in prepared statement using the new JDBC Driver 3.0.3

Hello,

I'm receiving the following SQLException using the latest 3.0.3 Java JDBC Driver that prevent me to upgrade the Driver

Caused by: java.sql.BatchUpdateException: java.sql.BatchUpdateException: java.sql.SQLException: (conn=92) This command is not supported in the prepared statement protocol yet at org.mariadb.jdbc.export.ExceptionFactory.createBatchUpdate(ExceptionFactory.java:180) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeBatchBulk(ServerPreparedStatement.java:230) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeInternalPreparedBatch(ServerPreparedStatement.java:170) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:594) [mariadb-java-client-3.0.3.jar!/:?] ... 195 more Caused by: java.sql.BatchUpdateException: java.sql.SQLException: (conn=92) This command is not supported in the prepared statement protocol yet at org.mariadb.jdbc.export.ExceptionFactory.createBatchUpdate(ExceptionFactory.java:213) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.client.impl.StandardClient.executePipeline(StandardClient.java:591) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeBatchBulk(ServerPreparedStatement.java:197) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeInternalPreparedBatch(ServerPreparedStatement.java:170) [mariadb-java-client-3.0.3.jar!/:?] at org.mariadb.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:594) [mariadb-java-client-3.0.3.jar!/:?]

The SQL Statement used to works with 2.7.x Java connectors

Where can I find a list of supported / unsupported statement ? What are my solution if I don't want to rewrite my code ? When such statement will be supported ?

The SQL statement looks like :

INSERT INTO table1 (column1, column2, column3, column4, column5, column6) SELECT ?, ?, table2.column1, table2.column2, ?, ? FROM table2 WHERE table2.key = ?;

The option setup : useBulkStmts=true useCompression=true useServerPrepStmts=true

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.