Android连接错误java.lang.UnsupportedOperationException [英] Android connection error java.lang.UnsupportedOperationException

查看:710
本文介绍了Android连接错误java.lang.UnsupportedOperationException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试建立与mysql数据库的连接时,我在android studio上遇到问题

I have a problem on android studio when I try to make a connection to a mysql database

这是代码:

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中尝试了相同的代码,并且有效.

I tried the same code in eclipse java and it worked.

我以不同的方式尝试了几次,但没有取得积极的结果.

I had tried several times in different ways but without positive results.

因此数据库连接有效. 我只是找不到解决方案,希望您能为我提供帮助.

so the database connection works. I just cannot find a solution, I hope you can help me.

推荐答案

我和您有相同的问题.当我在StackOverFlow中发现一个遇到与我同样的问题的人时,我感到非常兴奋.但是,当我发现答案为0时,我感到非常绝望和悲伤. (ಥ_ಥ)
经过痛苦的尝试,我将MySQL-connector-java 8.x替换为5.1.47 .然后,混乱的错误 java.lang.UnsupportedOperationException 消失了. (但是我不知道是否会出现其他错误.至少其他错误会在sql connect阶段出现,并且看起来可以解决.我认为这可能与SDK版本有关?)希望可以为您提供帮助:)

I have a same problem as yours. When I find a guy meeting a same proble with me in StackOverFlow, I am so exciting. But When I find there is 0 answer, I feel so hopeless and sad. (ಥ_ಥ)
After painful tryings , I replace mysql-connector-java 8.x with 5.1.47. Then the confusing errors java.lang.UnsupportedOperationException disappear. ( But I don't know whether other bugs will appear. At least other bugs appear at sql connect stage and they look resolvable. I think it may be related with SDK version? ) hope I can help you :)

这篇关于Android连接错误java.lang.UnsupportedOperationException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆