java - Android连接错误java.lang.UnsupportedOperationException

标签 java android mysql connection unsupportedoperation

<分区>

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

这是代码:

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 中尝试了相同的代码,它成功了。

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

所以数据库连接正常。 我就是找不到解决办法,希望你能帮助我。

最佳答案

我遇到了和你一样的问题。当我在 StackOverFlow 中发现有人遇到与我相同的问题时,我非常兴奋。但是当我发现答案为0时,我感到非常绝望和悲伤。 (ಥ_ಥ)
经过痛苦的尝试,我用 5.1.47 替换了 mysql-connector-java 8.x。然后令人困惑的错误 java.lang.UnsupportedOperationException 消失了。 (不过不知道会不会出现其他bug,至少sql connect阶段出现了其他bug,貌似可以解决,我觉得可能跟SDK版本有关?)希望能帮到你:)

关于java - Android连接错误java.lang.UnsupportedOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53136585/

相关文章:

android - CustomView 的 ListView 到 RecyclerView 迁移

php - 如何对mysql进行多重求和?

python - Pyramid 授权被绕过

java - 将 json 数据写入和读取到内部存储 android

java - Java中子类可以直接调用父类的实例方法吗?

java - Apache Spark - 将 JavaRDD 转换为 DataFrame,反之亦然,性能会下降吗?

Android 致命异常 : Can't create handler inside thread that has not called Looper. prepare()

java - 如何解决 Exception::java.security.AccessControlException: HttpServlet 中的访问被拒绝

java - 将字符串从 Activity 传递到 Fragment

php - 服务器未找到错误,000Webhost 域和 Ion 库用于数据发送?