Description:
Preparing a call to a stored procedure throws an exception:
Exception in thread "main" java.sql.SQLException: java.lang.NullPointerException
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:997)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:983)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:928)
at com.mysql.jdbc.CharsetMapping.getMysqlCharsetForJavaEncoding(CharsetMapping.java:618)
at com.mysql.jdbc.CharsetMapping.getCollationIndexForJavaEncoding(CharsetMapping.java:626)
at com.mysql.jdbc.Field.setEncoding(Field.java:442)
at com.mysql.jdbc.DatabaseMetaData.buildResultSet(DatabaseMetaData.java:916)
at com.mysql.jdbc.DatabaseMetaData.buildResultSet(DatabaseMetaData.java:902)
at com.mysql.jdbc.DatabaseMetaData.getProceduresAndOrFunctions(DatabaseMetaData.java:4760)
at com.mysql.jdbc.DatabaseMetaData.getProcedureOrFunctionColumns(DatabaseMetaData.java:4412)
at com.mysql.jdbc.JDBC4DatabaseMetaData.getProcedureColumns(JDBC4DatabaseMetaData.java:106)
at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:857)
at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:630)
at com.mysql.jdbc.JDBC4CallableStatement.<init>(JDBC4CallableStatement.java:46)
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:408)
at com.mysql.jdbc.CallableStatement.getInstance(CallableStatement.java:524)
at com.mysql.jdbc.ConnectionImpl.parseCallableStatement(ConnectionImpl.java:4326)
at com.mysql.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java:4410)
at com.mysql.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java:4384)
at com.mysql.jdbc.LoadBalancedMySQLConnection.prepareCall(LoadBalancedMySQLConnection.java:2174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.mysql.jdbc.LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:643)
at com.mysql.jdbc.LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:548)
at com.sun.proxy.$Proxy0.prepareCall(Unknown Source)
at com.mysql.jdbc.ReplicationConnection.prepareCall(ReplicationConnection.java:543)
at com.mysql.fabric.jdbc.FabricMySQLConnectionProxy.prepareCall(FabricMySQLConnectionProxy.java:718)
at ForumFabricPrepareCall.main(ForumFabricPrepareCall.java:9)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.CharsetMapping.getMysqlCharsetForJavaEncoding(CharsetMapping.java:582)
... 30 more
How to repeat:
Connection c = DriverManager.getConnection("jdbc:mysql:fabric://localhost:32274?fabricUsername=admin&fabricPassword=jbalint&fabricServerGroup=fabric_test1_global");
System.out.println("Catalog is '" + c.getCatalog() + "'");
c.createStatement().executeUpdate("set @x = 1");
c.prepareCall("{call x(?)}");
Description: Preparing a call to a stored procedure throws an exception: Exception in thread "main" java.sql.SQLException: java.lang.NullPointerException at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:997) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:983) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:928) at com.mysql.jdbc.CharsetMapping.getMysqlCharsetForJavaEncoding(CharsetMapping.java:618) at com.mysql.jdbc.CharsetMapping.getCollationIndexForJavaEncoding(CharsetMapping.java:626) at com.mysql.jdbc.Field.setEncoding(Field.java:442) at com.mysql.jdbc.DatabaseMetaData.buildResultSet(DatabaseMetaData.java:916) at com.mysql.jdbc.DatabaseMetaData.buildResultSet(DatabaseMetaData.java:902) at com.mysql.jdbc.DatabaseMetaData.getProceduresAndOrFunctions(DatabaseMetaData.java:4760) at com.mysql.jdbc.DatabaseMetaData.getProcedureOrFunctionColumns(DatabaseMetaData.java:4412) at com.mysql.jdbc.JDBC4DatabaseMetaData.getProcedureColumns(JDBC4DatabaseMetaData.java:106) at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:857) at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:630) at com.mysql.jdbc.JDBC4CallableStatement.<init>(JDBC4CallableStatement.java:46) 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:408) at com.mysql.jdbc.CallableStatement.getInstance(CallableStatement.java:524) at com.mysql.jdbc.ConnectionImpl.parseCallableStatement(ConnectionImpl.java:4326) at com.mysql.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java:4410) at com.mysql.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java:4384) at com.mysql.jdbc.LoadBalancedMySQLConnection.prepareCall(LoadBalancedMySQLConnection.java:2174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.mysql.jdbc.LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:643) at com.mysql.jdbc.LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:548) at com.sun.proxy.$Proxy0.prepareCall(Unknown Source) at com.mysql.jdbc.ReplicationConnection.prepareCall(ReplicationConnection.java:543) at com.mysql.fabric.jdbc.FabricMySQLConnectionProxy.prepareCall(FabricMySQLConnectionProxy.java:718) at ForumFabricPrepareCall.main(ForumFabricPrepareCall.java:9) Caused by: java.lang.NullPointerException at com.mysql.jdbc.CharsetMapping.getMysqlCharsetForJavaEncoding(CharsetMapping.java:582) ... 30 more How to repeat: Connection c = DriverManager.getConnection("jdbc:mysql:fabric://localhost:32274?fabricUsername=admin&fabricPassword=jbalint&fabricServerGroup=fabric_test1_global"); System.out.println("Catalog is '" + c.getCatalog() + "'"); c.createStatement().executeUpdate("set @x = 1"); c.prepareCall("{call x(?)}");