当我使用无效的数据库端口时,为什么我看不到错误消息?

时间:2014-08-31 12:08:25

标签: java jdbc connection database-connection connection-string

我试图获得连接。

我有3种不同的变体:

1:

 Connection connection = 
           DriverManager.getConnection("jdbc:mysql://127.0.0.1/db1", "root", "");

2:

Connection connection =
        DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1",
        "root", "");

3

Connection connection =
                    DriverManager.getConnection("jdbc:mysql://127.0.0.1:7777/db1",
                    "root", "");

使用这些连接中的每一个,我都可以正确使用数据库。

但是关于使用此参数,您几乎可以在每个jdbc教程中找到提及。

预期结果 - 至少在第三个变体中获得异常,因为此端口显然是错误的。

为什么我看不到错误消息?

2 个答案:

答案 0 :(得分:0)

不会忽略

port(我已使用此语法连接到在非默认端口上运行的MySQL服务器)。

前两个选项是相同的,因为3306是MySQL的默认端口。不确定为什么第三个选项有效。也许如果您提供无效端口,它将回退到默认端口。

答案 1 :(得分:0)

MySQL连接URL具有以下格式:

jdbc:mysql://[host][:port]/[database]
  • host - 运行MySQL服务器的主机名。         默认值为127.0.0.1 - localhost的IP地址。

  • port - MySQL正在侦听连接的端口号。         默认值为3306。

  • Database - MySQL服务器上现有数据库的名称。         如果未指定,则连接将不启动当前数据库。

在第一种情况下,它使用默认端口3306.然后它与第二种情况相同。