Hallo zusammen, ich bin hier neu.
Ich habe meinen PC auf Windows10 upgedated und auch die neuesten Versionen von MySQL (8.0.17), JDK (1.8. 0_221) und Netbeans (11.0) installiert. Die Datenbank läuft, ich kann mit LibreOffice über ODBC darauf zugreifen. Beim Verbindungsaufbau mit JAVA (mysqlconnector 8.0.17) kommt ein Fehler.
Das ist mein Code , der unter Windows 7, MySQL 5, JDK 1.7.0_7 funktioniert hat:
Ich krieg jetzt folgende Fehlermeldung:
DB-Fehler bei getConnection: Unexpected exception encountered during query.
java.sql.SQLException: Unexpected exception encountered during query.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1557)
at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3868)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3407)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2384)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at dia.DbDia.start(DbDia.java:40)
at dia.Dia.main(Dia.java:15)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 255
at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3100)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
... 19 more
Wenn ich einen falschen Datenbankname angebe, kommt: Unknown database
Bei falschem Passwort kommt: Access denied
Bei falschem Usernamen kommt: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Es scheint also eine Verbindung zur Datenbank zu geben, aber ich bin jetzt mit meinem Latein am Ende.
Vielleicht kann mir jemand helfen
ps: Ich bin nicht so der Java-Freak, ich beschäftige mich erst seit der Rente mit Java, vorher habe ich jahrzentelang in anderen Sprachen programmiert.
Ich habe meinen PC auf Windows10 upgedated und auch die neuesten Versionen von MySQL (8.0.17), JDK (1.8. 0_221) und Netbeans (11.0) installiert. Die Datenbank läuft, ich kann mit LibreOffice über ODBC darauf zugreifen. Beim Verbindungsaufbau mit JAVA (mysqlconnector 8.0.17) kommt ein Fehler.
Das ist mein Code , der unter Windows 7, MySQL 5, JDK 1.7.0_7 funktioniert hat:
Java:
public static void start() {
String dbname = "jdbc:mysql://127.0.0.1:3306/dia?useUnicode=yes&characterEncoding=UTF-8";
String user = "xxxxxxxx";
String pw = "yyyyyyyy";
try { // Treiber laden
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.err.println(" Kann Treiber nicht laden: " + e);
}
try {
conDia = DriverManager.getConnection(dbname, user, pw);
} catch (SQLException e) {
System.err.println("DB-Fehler bei getConnection: " + e.getMessage() );
e.printStackTrace();
}
Ich krieg jetzt folgende Fehlermeldung:
DB-Fehler bei getConnection: Unexpected exception encountered during query.
java.sql.SQLException: Unexpected exception encountered during query.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1557)
at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3868)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3407)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2384)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at dia.DbDia.start(DbDia.java:40)
at dia.Dia.main(Dia.java:15)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 255
at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3100)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
... 19 more
Wenn ich einen falschen Datenbankname angebe, kommt: Unknown database
Bei falschem Passwort kommt: Access denied
Bei falschem Usernamen kommt: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Es scheint also eine Verbindung zur Datenbank zu geben, aber ich bin jetzt mit meinem Latein am Ende.
Vielleicht kann mir jemand helfen
ps: Ich bin nicht so der Java-Freak, ich beschäftige mich erst seit der Rente mit Java, vorher habe ich jahrzentelang in anderen Sprachen programmiert.