【发布时间】:2020-04-18 15:26:25
【问题描述】:
我知道已经回答了很多类似的问题,但我已经搜索了几乎所有问题,但无法找到解决问题的方法。
我正在尝试使用以下代码连接到我的 SQL 数据库,但出现错误。在展示我的代码之前,我可以使用 DBeaver 连接到同一个数据库,并提供以下连接详细信息:
我正在尝试通过以下方式连接到数据库:
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:1433/master", "sa", "MY_PASSWORD_HERE");
但是,此时我的代码并没有抛出任何错误,而是在大约 2 分钟后抛出了以下错误,我认为它基本上已经放弃并超时了。
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
我不知道我做错了什么,因为我遵循了与无数在线教程相同的程序。任何帮助表示赞赏。
作为参考,我正在使用 Maven 构建我的项目。这是pom.xml的sn-p
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
编辑: 运行 SELECT @@VERSION 返回:
Microsoft SQL Server 2019 (RTM-CU4) (KB4548597) - 15.0.4033.1 (X64)
Mar 14 2020 16:10:35
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) <X64>
1 row(s) returned
Executed in 1 ms
【问题讨论】:
-
您是要连接到 MySQL 引擎还是 SQL Server 引擎?您的屏幕截图看起来像 SQL Server,但您的 java 代码看起来像 MySQL。
-
@TheImpaler 我不确定 - 你能告诉我如何找到吗?
-
这是两种截然不同的动物。如果您使用 DBeaver 连接,请尝试运行以下语句:
SELECT @@VERSION并告诉我们结果。另外,请尝试SELECT VERSION();并告诉我们。 -
我在运行
SELECT @@VERSION时编辑了我的问题。您的其他建议会引发错误Error: 'VERSION' is not a recognized built-in function name. -
好的,它是 SQL Server 2019。我更新了您问题中的标签。现在,您的 Java 代码和 Maven pom.xml 正在尝试连接到 MySQL。你需要改变这一切。
标签: java sql jdbc sql-server-2019