Android直连MySQL ,无法建立连接

学习用尝试直连mysql5.7

 public void run() {
                 Connection cn=null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    String url="jdbc:mysql://IP:Port/db";
                    String user="root";
                    String password="123456";
                    cn= DriverManager.getConnection(url,user,password);
                //程序执行到这一步抛出异常
                    if(cn!=null)
                        Log.e("ccc","cccc");
                    String sql="select B_Name from book";

                          Statement st=(Statement)cn.createStatement();
                         ResultSet rs=st.executeQuery(sql);
                         while(rs.next()){
                            String mybook=rs.getString("B_Name");
                               Log.e("Mainactivity",mybook);
                           }
                           cn.close();
                           st.close();
                             rs.close();
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }).start();

jar包

服务器的MySQL57服务开着, IP、Port、User和Password我都用Navicat测过,有效。排查下来不知道问题可能出在哪里。

3个回答

看下你的catch丢出了什么错误。最有可能的是两个原因,一个是mysql的驱动问题,它是否能在 android 上用,这个很难说,反正没人试过。祝你好运。
另一个是网络问题,你Navicat是在pc上运行的吧,但是你的手机的网络能连上么?你手机的防火墙是否阻止了连接呢,你手机的权限是否不允许访问这个端口呢。

qq_32327399
qq_32327399 结果出现在忘记赋予网络权限了。
2 年多之前 回复

感觉是导入一个驱动包就可以了

换ip,10.0.2.2。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐