HarmonyOS 鸿蒙Next 应用java开发,使用jdbc连接云服务器mysql数据库出现问题

HarmonyOS 鸿蒙Next 应用java开发,使用jdbc连接云服务器mysql数据库出现问题 我自己写了一个连接数据库的demo,代码如下

public class MainAbilitySlice extends AbilitySlice {
    //sql数据库连接字符串
    private static final String URL="jdbc:mysql://服务器的host/cameraDemo?autoReconnect=true&failOverReadOnly=false";
    //sql用户名 和密码 用作连接用
    private static final String USERNAME="root";
    private static final String PWD="123456";

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        Button button = this.findComponentById(ResourceTable.Id_btn_connect);
        button.setClickedListener(component -> {
            new ToastDialog(this).setText("success").show();

            this.getGlobalTaskDispatcher(TaskPriority.DEFAULT).asyncDispatch(() ->{
                // 导入驱动,加载具体驱动类
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
                // Connection connection = DriverManager.getConnection(URL, USERNAME, PWD);
                // 与数据库建立链接并返回连接
                Connection connection = null;
                try {
                    connection = DriverManager.getConnection(URL, USERNAME, PWD);
                } catch (SQLException e) {
                    e.printStackTrace();
                }

                //发送sql语句(增删改)

                Statement stmt = null;
                try {
                    stmt = connection.createStatement();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                //实现增删改
                String sql="insert into images values('test', 'tset', 2);";
                //返回增删改几条数据
                int num = 0;
                try {
                    num = stmt.executeUpdate(sql);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                if(num>0)
                    System.out.println("操作成功");
                try {
                    stmt.close();
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

            });
        });
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

布局文件在主页面中就只有一个按钮,点击按钮就执行数据插入。 连接部分的代码在idea中用java跑能够成功,除了操作环境不一样外其他都一样。但是在鸿蒙应用中就无法跑成功,一直包如下错误:

Could not create connection to database server. Attempted reconnect 3 times.

更多关于HarmonyOS 鸿蒙Next 应用java开发,使用jdbc连接云服务器mysql数据库出现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

看下你与这个帖主配置是不是一样?不过他最后好像放弃了直接连Mysql。

我觉得可以尝试将url 中的 & 符号需要转义成 & 试试,

=> jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

url:

https://developer.huawei.com/consumer/cn/forum/topic/0202548202325160095?fid=0101587866109860105

更多关于HarmonyOS 鸿蒙Next 应用java开发,使用jdbc连接云服务器mysql数据库出现问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我也想放弃直连了,这一周都在搞这个东西,各种方法都尝试了,

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

  • 姓名:张三
  • 职位:软件工程师
  • 基本信息:
    • 地址:上海市
    • 邮箱:zhangsan@example.com
    • 电话:1234567890

你好,我也想连接mysql,问题解决了吗?

欢迎开发小伙伴们进来帮帮楼主

请问楼主解决了吗?求助!!

没有 用springboot也好,python也好,总之自己写一个后端间接操作数据库吧。

楼主你好,请提供更详细日志进一步分析

针对HarmonyOS鸿蒙Next应用开发中,使用JDBC连接云服务器MySQL数据库出现问题的情况,以下是一些可能的原因及解决方向:

  1. 驱动支持:确保你使用的JDBC驱动支持HarmonyOS平台。由于HarmonyOS与Android及传统Java环境存在差异,部分驱动可能不兼容。需查找或开发适用于HarmonyOS的JDBC驱动。

  2. 网络权限:检查应用是否已获得必要的网络访问权限。HarmonyOS对应用权限有严格管理,未授权的应用无法访问网络。

  3. 数据库配置:确认MySQL数据库的配置允许远程连接,且IP地址、端口号、用户名和密码等信息无误。

  4. SSL/TLS:如果数据库要求SSL/TLS连接,需确保应用端配置了正确的证书和加密协议。

  5. 依赖冲突:检查项目中是否存在依赖冲突,特别是与JDBC相关的库。使用HarmonyOS特有的包管理工具或方法来管理依赖。

  6. 日志调试:开启详细的日志记录,观察连接过程中的错误信息,有助于定位问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部