zoukankan      html  css  js  c++  java
  • 如何实现服务器与mysql的远程通信?

        本想通过android程序直接访问数据库获取数据,无奈在测试的过程中android一直显示无法找到驱动程序。上网找了许多资料,依旧没有找到解决的方法。因此决意搭建中介服务器。通过中介服务器进行中转,实现对第三方电脑mysql操控以及和android之间的数据通信。

       最后测试成功。

      具体步骤如下:

      服务端:

      1.首先在服务端的WEB-INF文件夹的lib目录下面引入mysql驱动程序:

      2.引入完毕后,右击项目,新建java文件:

    3.写上代码:


    import com.mysql.jdbc.*;
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.ResultSet;
    import com.mysql.jdbc.Statement;

    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    public class conn {

    static List list = null;

    public static void main(String[] args) throws SQLException{
    conn con = new conn();
    con.getData();
    }

    public void getData() throws SQLException{
    //驱动数据库
    try {
    Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println();
    //获取信息

    //在此写入相应信息
    String dbName = "";
    String tableName = "";
    String userName = "";
    String password = "";



    String url = "jdbc:mysql://<ip地址>:<端口号,由对方设置>/" + dbName + "?user="
    +userName + "&password=" + password;


    Connection conn = (Connection) DriverManager.getConnection(url);
    System.out.print("数据库连接成功!");


    }

    }

    这边的步骤就书写完毕了,然后开始对对方电脑进行配置(此测试为linux):

    1.

    将 /etc/mysql/my.cnf中的bind-address注释掉

    2.将数据库中对应用户的host改为%

    至此本次测试成功了,成功后运行java程序,会打印出数据库连接成功!

    另:如果出现错误,可能还要设置对方防火墙等原因。

    本次测试失败了很多次最后意外的成功了,不排除成功原因之一是因为对方电脑搭建了java环境,但这点仍然不很确定。望大神指点!

      

  • 相关阅读:
    Springmvc全局异常处理
    SpringMVC异常处理一
    [GDB7] gdb 的学习
    《Python 第七章》更加抽象
    python问题:IndentationError:expected an indented block错误解决
    [C/C++] C++ 类的学习
    [GCC6] gcc 的学习
    [Python] 列表 list
    [python] 循环与轻量级 pass, del, eval
    《Python 第八章》异常
  • 原文地址:https://www.cnblogs.com/wangsihui1996/p/5393229.html
Copyright © 2011-2022 走看看