Ошибка соединения с Android java.lang.UnsupportedOperationException - PullRequest
0 голосов
/ 04 ноября 2018

У меня проблема с Android Studio, когда я пытаюсь подключиться к базе данных MySQL

Это код:

public Connection getMySqlConnection()
{
    /* Declare and initialize a sql Connection variable. */
    Connection ret = null;

    try
    {

        /* Register for jdbc driver class. */
        Class.forName("com.mysql.cj.jdbc.Driver");

        /* Create connection url. */
        String mysqlConnUrl = "jdbc:mysql://ip/ristorante?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";

        /* db user name. */
        String mysqlUserName = "guest";

        /* db password. */
        String mysqlPassword = "guestpass";

        /* Get the Connection object. */
        ret = DriverManager.getConnection(mysqlConnUrl , mysqlUserName , mysqlPassword );


        /* Get related meta data for this mysql server to verify db connect successfully.. */
        DatabaseMetaData dbmd = ret.getMetaData();

        String dbName = dbmd.getDatabaseProductName();

        String dbVersion = dbmd.getDatabaseProductVersion();

        String dbUrl = dbmd.getURL();

        String userName = dbmd.getUserName();

        String driverName = dbmd.getDriverName();

        System.out.println("Database Name is " + dbName);

        System.out.println("Database Version is " + dbVersion);

        System.out.println("Database Connection Url is " + dbUrl);

        System.out.println("Database User Name is " + userName);

        System.out.println("Database Driver Name is " + driverName);

    }catch(Exception ex)
    {
        ex.printStackTrace();
    }finally
    {
        return ret;
    }
}

это основная ошибка:

W/System.err: java.lang.UnsupportedOperationException
    at java.util.regex.Matcher.group(Matcher.java:383)
    at com.mysql.cj.conf.ConnectionUrlParser.isConnectionStringSupported(ConnectionUrlParser.java:152)
    at com.mysql.cj.conf.ConnectionUrl.acceptsUrl(ConnectionUrl.java:258)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:195)
    at java.sql.DriverManager.getConnection(DriverManager.java:569)
    at java.sql.DriverManager.getConnection(DriverManager.java:219)
    at com.example.spara.restaurant.activity_home.getMySqlConnection(activity_home.java:163)
    at com.example.spara.restaurant.activity_home.onCreate(activity_home.java:80)

Я попробовал тот же код в Eclipse Java, и он работал ...

Я пробовал несколько раз по-разному, но без положительных результатов.

так что соединение с базой данных работает. Я просто не могу найти решение, надеюсь, вы поможете мне.

1 Ответ

0 голосов
/ 23 января 2019

У меня такая же проблема, как и у вас. Когда в StackOverFlow я вижу парня, который встречается со мной по той же проблеме, я очень волнуюсь. Но когда я нахожу 0 ответа, я чувствую себя таким безнадежным и грустным. (ಥ_ಥ)
После мучительных попыток я заменяю mysql-connector-java 8.x на 5.1.47 . Тогда сбивающие с толку ошибки java.lang.UnsupportedOperationException исчезают. (Но я не знаю, будут ли появляться другие ошибки. По крайней мере, другие ошибки появляются на этапе подключения SQL, и они выглядят разрешимыми. Я думаю, что это может быть связано с версией SDK?) Надеюсь, я могу помочь вам:)

...