jdbc远程服务器数据库访问

时间:2017-11-18 12:02:57

标签: mysql jdbc

为noob问题道歉,但我刚刚开始使用java和网络,而且我真的在努力使用JDBC驱动程序和连接。

我有一个MySQL数据库(testdb)在我的家庭网络上的一个单独的机器上运行(主机名os-server1,运行debian OS并运行mysql服务器)我试图使用java代码访问它(编译并运行)从我的笔记本电脑intellij),但我一直得到一个读取的异常错误 “通讯链接失败”

出于故障诊断的目的,我还在笔记本电脑上安装了MySQL服务器并创建了相同的数据库。当我将连接字符串中的url更改为“本地主机”(即我的笔记本电脑上的数据库)时,查询工作正常并返回数据。只有当我尝试在单独的服务器上访问数据库时才会遇到问题。

我搜索Stack Overflow论坛并提出以下做法,已经检查和/或更正但仍然没有快乐:

  1. 我的类路径中有jdbc驱动程序
  2. 我已将所有权限授予服务器db
  3. 中的远程用户@ host
  4. 搜索这些论坛以寻找类似问题
  5. 现在我迷路了。

    我的Java代码如下所示:

    package com.pkg1;
    import java.sql.*;
    
    public class Test {
        public static void main(String[] args) {
    
            try {
                String url = "jdbc:mysql://os-server1:3306/testdb";
                String myDriver = "com.mysql.jdbc.Driver";
                Class.forName(myDriver);
                Connection conn = DriverManager.getConnection(url,"root","kusgillip");
                Statement stmt = conn.createStatement();
                ResultSet rs;
    
                rs = stmt.executeQuery("SELECT first_name FROM students");
                while ( rs.next() ) {
                    String lastName = rs.getString("first_name");
                    System.out.println(lastName);
                }
                conn.close();
            } catch (Exception e) {
                System.err.println("Got an exception! ");
                System.err.println(e.getMessage());
            }
        }
    }
    

0 个答案:

没有答案