2

我有一个 sourceforge 托管的 MySQL 数据库,连接 URL 如下:

https://mysql-t.sourceforge.net:3306/"db_name"

我想使用 JDBC 连接到这个数据库。我的连接网址如下:

jdbc:mysql://https://mysql-t.sourceforge.net:3306

但是,我不断收到以下错误

java.sql.SQLException: Must specify port after ':' in connection string

我相信,这样做的原因是部件在标志https://之后一直期待一个端口,比如:https://<port#>

我可能可以getInetAddress()用来检索 IP 并使用它,但我需要一个更好的解决方案,因为这可能不正确。

4

2 回答 2

4

您的网址不应包含 http 或 https。试试这样

jdbc:mysql://mysql-t.sourceforge.net:3306/db_name

您可能认为您必须包含 http 或 https,因为端口 3306 在 Internet 上对您的客户端不可见。很高兴它不是。如果它对您可见,那么其他人也可以看到它。

您需要一个介于客户端和数据库之间的中介 servlet。客户端可以通过 http 端口 80 或 https 端口 443 联系 servlet。servlet 将对它们进行身份验证和授权,验证和绑定参数,代表它们向数据库发出请求,并发送适当的响应。

您不应该让任何人使用 root 或管理员凭据来访问该数据库。您应该仅为该应用程序创建凭据,只访问一个数据库,只允许完成这项工作所需的操作。

于 2013-11-11T00:35:34.210 回答
0

问题已解决。

1) 访问 URL 与提供的不同。我从其他用户遇到类似问题的 sourceforge 论坛中发现了这一点。

2)端口号不同。它适用于 4040 而不是 3306。

3) Sourceforge 显然不允许永久访问他们的数据库。它只应要求工作,一次只能工作 4 小时。他们不允许使用他们的数据库作为后端。

于 2013-11-11T01:12:49.697 回答