无法将 Java ap 连接到在线 MySQL 数据库 - 错误的 URL
Posted
技术标签:
【中文标题】无法将 Java ap 连接到在线 MySQL 数据库 - 错误的 URL【英文标题】:Cannot connect Java ap to online MySQL database - wrong URL 【发布时间】:2017-01-20 08:45:46 【问题描述】:我开发了一个 Java 应用程序,并希望将其连接到由db4free.net
托管的在线 mysql 数据库。但我无法通过 JDBC 建立连接,而且我知道我使用的 URL 有问题。我在浏览器中看到的 URL 是:
https://db4free.net/phpMyAdmin/index.php?db=DB_NAME&target=db_structure.php&token=8d68285c6950611a4f9630dc2c132b61
这就是我阅读属性的方式:
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();
还有我的属性文件:
db_user=USERNAME
db_password=PASSWORD
db_driver=com.mysql.jdbc.Driver
db_connection=jdbc:mysql://db4free.net/DB_NAME
我到底应该使用什么 URL? 这是我在 phpMyAdmin 中看到的(我已经删除了数据库的名称):
【问题讨论】:
你ping过你的数据库了吗? 能不能把域名改成真实的@IP @LAIDANIYoucef 我ping了域名,它的IP是85.10.205.173
。
也许你应该问db4free.net如何访问数据库。
【参考方案1】:
首先你应该得到你的IP地址和端口
数据库:
第二次 ping 您的数据库,如果它可以正常工作,那么一切都会好起来的,如下所示:
MySQL 的默认端口为 3306,因此您的 URL 或 db_connection 应如下所示:
将您的网址更改为:
db_connection=jdbc:mysql://85.10.205.173/DB_NAME
请务必致电Class.forName(driver);
编辑
我已经在这个网站上创建了一个数据库,我创建了一个简单的程序,它可以和我一起工作:
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);
您可以使用我的数据,希望对您有所帮助。
【讨论】:
为什么它对我有用?尝试使用这个@IP,我已经在我的电脑中获得了它 @Marievi 我为你创建了一个简单的程序,它对我来说很好用 @Marievi 我想你忘了Driver class
只是复制通过了我的程序并测试它
你不需要指定默认端口(3306),见github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/…
是的,你是真的@rkosegi,但程序运行良好,为什么要投反对票?【参考方案2】:
数据库正在侦听特定端口,您必须指定它,它应该是 3306(正如我在屏幕截图底部看到的那样)。
您的数据库连接属性应该是:
db_connection=jdbc:mysql://db4free.net:3306/DB_NAME
【讨论】:
phpMyAdmin
和链接的其余部分怎么样?
你不需要指定默认端口(3306),见github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/…以上是关于无法将 Java ap 连接到在线 MySQL 数据库 - 错误的 URL的主要内容,如果未能解决你的问题,请参考以下文章
Java - 使用 JDBC 连接到在线 MySQL 数据库时出现问题
为啥我可以将 java 应用程序连接到 MySQL DB 但无法执行查询? [复制]
后端容器 ip 无法使用 docker 连接到数据库 mysql
如何使用 ODBC 将 Excel 连接到我的域中的在线 Mysql 数据库?