首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将Java ap连接到联机MySQL数据库-错误的URL

问无法将Java ap连接到联机MySQL数据库-错误的URL
EN

Stack Overflow用户
提问于 2017-01-20 08:45:46
回答 2查看 1.1K关注 0票数 1

我已经开发了一个Java应用程序,并希望将它连接到一个由MySQL托管的在线db4free.net数据库。但是我无法通过JDBC实现连接,而且我知道我使用的URL有问题。我在浏览器中看到的URL是:

代码语言:javascript
复制
https://db4free.net/phpMyAdmin/index.php?db=DB_NAME&target=db_structure.php&token=8d68285c6950611a4f9630dc2c132b61

我就是这样读属性的:

代码语言:javascript
复制
public class ReadProperties {
    private String db_user;
    private String db_password;
    private String db_connection;
    private Connection connection;

    public ReadProperties(String filename){
        Properties propfile = new Properties();
        InputStream input = null;
        try {
            input = new FileInputStream(filename);
            propfile.load(input);

            db_user = propfile.getProperty("db_user");
            db_password = propfile.getProperty("db_password");
            db_connection = propfile.getProperty("db_connection");

            connection = DriverManager.getConnection( db_connection, db_user, db_password);
            System.out.println(connection);

        } catch (IOException | SQLException ex) {
            ex.printStackTrace();
        } 
        finally {
            if (input != null) {
                try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

我的财产档案:

代码语言:javascript
复制
db_user=USERNAME
db_password=PASSWORD
db_driver=com.mysql.jdbc.Driver
db_connection=jdbc:mysql://db4free.net/DB_NAME

到底应该使用什么URL?--这是我在phpMyAdmin中看到的(我删除了数据库的名称):

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-20 08:53:15

  • 首先,您应该获取数据库的IP地址和端口:
  • 其次,如果数据库正常工作,那么每件事情都会很好,如下所示:

​

​

  • 默认情况下,MySQL的端口为3306,所以您的URL或db_connection应该如下所示:

将您的URL更改为:

代码语言:javascript
复制
db_connection=jdbc:mysql://85.10.205.173/DB_NAME
  • 一定要打电话给Class.forName(driver);

编辑

我已经在这个站点中创建了一个数据库,我创建了一个简单的程序,它与我一起工作:

代码语言:javascript
复制
import java.sql.DriverManager;
import java.sql.SQLException;

public class CreerConnection {

    static String driver = "com.mysql.jdbc.Driver";
    static String DB_username = "youcef";
    static String DB_password = "youcef";
    static String DB_URL = "jdbc:mysql://85.10.205.173/bd_test";

    public static void main(String[] args) {
        try {
            Class.forName(driver);
            java.sql.Connection con = DriverManager.getConnection(DB_URL, DB_username, DB_password);
            System.out.println("Success");
        } catch (ClassNotFoundException | SQLException e) {
            System.out.println("Exception : " + e);
        }
    }
}

你可以用我的数据希望这能帮到你。

票数 1
EN

Stack Overflow用户

发布于 2017-01-20 08:49:51

数据库正在监听一个特定的端口,您必须指定它,它应该是3306 (正如我在屏幕截图的底部看到的那样)。

您的db连接属性应该是:

代码语言:javascript
复制
db_connection=jdbc:mysql://db4free.net:3306/DB_NAME
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41759411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档