This repository was archived by the owner on Jan 28, 2021. It is now read-only.
This repository was archived by the owner on Jan 28, 2021. It is now read-only.
Unable to connect to _example/main.go mem server using Java JDBC driver #319
Closed
Description
I am trying to connect to the default mem server using the Java JDBC driver and I get the following error.
Exception in thread "main" org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: unknown error: unsupported feature: SHOW variables
I looked at the code and found that show variables
is not yet supported. Wanted to know if there is way to make this work without implementing the show variables
in go-mysql-server.
package com.mycompany.app;
import java.util.List;
import java.util.Map;
import org.skife.jdbi.v2.DBI;
import org.skife.jdbi.v2.Handle;
import org.skife.jdbi.v2.Query;
import com.mysql.jdbc.Driver;
public class App {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Handle handle = null;
try {
DBI dbi = new DBI("jdbc:mysql://localhost:3306/test",
"username",
"password");
String sql = "SELECT * FROM table";
handle = dbi.open();
Query<Map<String, Object>> q = handle.createQuery(sql);
List<Map<String, Object>> l = q.list();
for (Map<String, Object> m : l) {
System.out.println(m);
}
} finally {
if (handle != null) {
handle.close();
}
}
}
}
Exception in thread "main" org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: unknown error: unsupported feature: SHOW variables
at org.skife.jdbi.v2.DBI.open(DBI.java:229)
at com.mycompany.app.App.main(App.java:30)
Caused by: java.sql.SQLException: unknown error: unsupported feature: SHOW variables
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)
at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3828)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3268)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2278)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at org.skife.jdbi.v2.DBI$3.openConnection(DBI.java:139)
at org.skife.jdbi.v2.DBI.open(DBI.java:211)
... 1 more