连接到在线 SQL 数据库

Posted

技术标签:

【中文标题】连接到在线 SQL 数据库【英文标题】:Connecting to an online SQL database 【发布时间】:2015-02-18 09:35:40 【问题描述】:

它可能与谁有关,

我的一个朋友有一个服务器,里面有一个他为我创建的数据库。

我希望用我的 Java 应用程序连接到这个数据库, 现在我得到了这个代码:

    /**
     * Open database connection
     */
    public void openConnection() 
        try 
            //  Database information
            String url = "jdbc:mysql://url-to-online-database.com:3306/";
            String dbName = "dbName";

            //  jdbc driver
            String driver = "com.mysql.jdbc.Driver";
            //  username of database user
            String userName = "testUsername";
            //  Password of database user
            String password = "testPassword";

            // The newInstance() call is a work around for some
            // broken Java implementations
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url + dbName, userName, password);

            //  Adding multiple exception catches
         catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e) 
            JOptionPane.showMessageDialog(null, e);

        
    

此时我不知道我做错了什么,除了我不知道从哪里获取用于连接到该数据库的 url。

在我的应用程序中尝试登录时,出现以下错误:

这和远程mysql有关吗?我需要在 cpanel 中“添加访问主机”吗? 可能是重复使用我的驱动程序的 JAR?

【问题讨论】:

“除了我不知道用什么 url 来连接这个数据库”这是否意味着你知道这个 URL 并且不知道为什么你无法连接? > 我不知道网址,也不知道从哪里获取:P 大部分连接设置都在您朋友的服务器上,而不是在您的一端。确保防火墙规则允许连接,确保允许来自 db 端的连接,确保为您设置了用户,获取服务器所在的 IP 地址/端口号和/或域。在你能够连接之前,你的朋友有很多事情要做 有一个用户集,连接到我正在使用的数据库。 【参考方案1】:

如果你的数据库在其他位置,你的程序找不到这个url,因为你尝试连接远程数据库,你需要创建adHoc网络并共享你的数据库。

【讨论】:

【参考方案2】:

您应该尝试使用 maven 项目。如果你使用 maven,你需要像这样为 mysql-connector 添加一个依赖:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>    

【讨论】:

【参考方案3】:

在您的问题中,没有为 java mysql 连接找到这样的驱动程序,因此请在您的项目库中添加 mysql-java-connector 并运行。

Download MySQL Java Connector

【讨论】:

使用它从我的应用程序登录时会导致错误:通信链路故障,最后一个成功发送到服务器的数据包是 0 毫秒前。驱动没有收到来自服务器的任何数据包 确保您的 mysql 服务器正在运行,同时确保您的服务器具有允许访问数据库的最大连接限制。还有一件事是您尝试全局还是本地访问 mysql 服务器? 这是我需要连接的 url。我用什么?它是“主域”网址吗? 我的意思是你的mysql服务器和你的java应用程序在同一个地方? 不,它在不同的位置

以上是关于连接到在线 SQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Azure 上的 .NET Core 无法连接到 SQL Server 数据库

EntityFramework 连接到 Visual Studio SQL Server (localdb)

访问连接到 Azure SQL Server 后端的本地前端非常慢

如何从 Spring Boot 连接到在线 MongoDB 数据库?

使用 PHP 从 Swift 连接到在线数据库 (mySQL)。 (XCODE)

通过 Excel 在线连接到 MySQL 数据库