gpt4 book ai didi

java - 无法使用 JDBC 驱动程序 SQLState 连接到 MS SQL Server 08001

转载 作者:行者123 更新时间:2023-11-30 05:40:26 24 4
gpt4 key购买 nike

我尝试使用 Java 连接到 MS SQL Server 数据库,但始终遇到相同的错误。

我正在为开发人员使用 MS SQL Server,并通过 SSMS 对其进行管理。当我安装它时,我设置了它,以便它使用我的 Windows 凭据作为密码。

JDBC 驱动程序作为 Maven 依赖项添加到我的项目中。

根据我阅读 Microsoft 文档的理解,我应该能够使用以下连接字符串:

String connectionUrl ="jdbc:sqlserver://localhost;integratedSecurity=true";

但是这对我来说似乎不起作用,因为它返回 SQLState 08001。在阅读了这个状态后,我明白它与无法建立连接有关。

我还尝试使用我的 Windows 登录名形成连接字符串,结果相同:

String connectionUrl = "jdbc:sqlserver:localhost:1433;databaseName=DBNAME;user=John Doe;password=0123456789";

我还尝试使用 T-SQL 创建一个登录名作为凭据,使用与之前相同的字符串(仅更改用户名和密码):

CREATE ROLE [USER]
GRANT SELECT, INSERT ON SCHEMA :: [dbo] TO USERNAME
CREATE LOGIN USERNAME_LOGIN WITH PASSWORD = '1234567890'
CREATE USER USER_USERNAME FROM LOGIN USERNAME_LOGIN
ALTER ROLE [USER] ADD MEMBER USER_USERNAME

我确实需要一些帮助来了解我做错了什么以及我可以做些什么来使其发挥作用。如果您需要我检查任何内容,请告诉我如何做,因为我对此还很陌生。

编辑

根据此处的要求,来自 getMessage() 的信息:

No suitable driver found for jdbc:sqlserver:localhost:1433;databaseName=.....

我猜这也是提及我正在导入的 Maven 依赖项的时刻:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.3.0.jre8-preview</version>
</dependency>

我认为现在的问题是,我是否使用了错误的驱动程序作为 MS SQL Server 2017 的依赖项?

最佳答案

我发现我没有为 MS SQL Server 启用 TCP/IP 连接。

要在 MS SQL Server 2017 中启用此功能:

  • 从 Windows 应用程序菜单启动 SQLServerManager14.msc。
  • 转至 SQL Server 网络配置。
  • 转到您的实例的协议(protocol)。
  • 将 TCP/IP 设置为启用。

关于java - 无法使用 JDBC 驱动程序 SQLState 连接到 MS SQL Server 08001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com