如何解决尽管能够通过其他方式连接,但无法使用 JDBC 连接到数据库通信链接失败
我正在使用端口 1433 在 docker 上运行 MSSQL:
并且能够连接到它并使用我从互联网下载的简单工具 (SQLDbx) 进行查询:
但是,当我尝试通过此代码使用 JDBC 进行连接时:
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:1433/SocialDB/","myUsername","myPW");
con.close();
} catch (Exception e) {
System.out.println(e);
}
}
我明白了:
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.
我想知道在 docker 上运行 SQLServer 时是否需要执行一些我遗漏的额外步骤,如果没有,我想知道是什么导致了问题。 提前致谢。
解决方法
如果端口号是默认的:
String connectionUrl = "jdbc:sqlserver://localhost;database=SocialDB;integratedSecurity=true;"
localhost:1433 与 localhost 相同
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。