You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java(Eclipse)连接SQL Server遇空用户登录错误求解决方案

解决SQL Server Windows身份验证连接失败问题

错误原因解析

你遇到的「连接错误:用户''登录失败」,核心问题是Windows身份验证的连接字符串配置错误,没有正确传递Windows系统凭据,或是驱动未适配Windows认证方式。

需要修改的关键部分

1. 修正连接字符串

Windows身份验证不需要指定user和password参数,而是通过integratedSecurity=true启用系统凭据传递,同时确保连接字符串包含正确的服务器地址、端口和数据库名。

替换原连接字符串为:

String url = "jdbc:sqlserver://localhost:3003;databaseName=pokemondb;integratedSecurity=true;";
  • 若数据库不在本地,将localhost替换为目标服务器的IP/机器名
  • 确认3003是SQL Server实际监听的端口

2. 检查SQL Server认证模式

  • 打开SQL Server Management Studio,右键目标实例 → 属性 → 安全性
  • 确认服务器身份验证选择「SQL Server和Windows身份验证模式」(仅开启SQL身份验证时,Windows账号无法登录)

3. 适配JDBC驱动配置

  • 若使用旧版驱动(如sqljdbc4.jar),需添加对应系统位数的sqljdbc_auth.dll文件到项目lib目录或系统PATH中
  • 新版驱动(如mssql-jdbc-xx.x.x.jrexx.jar)无需额外dll,确保驱动已正确导入Eclipse项目

4. 修正代码连接逻辑

移除代码中手动设置空用户名/密码的逻辑,示例修正后的完整代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class PokemonDBConnection {
    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 新版JDBC驱动可省略此加载步骤
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            
            String url = "jdbc:sqlserver://localhost:3003;databaseName=pokemondb;integratedSecurity=true;";
            conn = DriverManager.getConnection(url);
            System.out.println("连接成功!");
        } catch (ClassNotFoundException e) {
            System.err.println("驱动类未找到:" + e.getMessage());
        } catch (SQLException e) {
            System.err.println("连接错误:" + e.getMessage());
        } finally {
            try {
                if (conn != null && !conn.isClosed()) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

5. 验证端口可用性

  • 用命令提示符执行telnet localhost 3003(替换为目标服务器IP),确认端口可正常连通
  • 确保SQL Server服务已启动,且实例监听端口配置为3003

内容的提问来源于stack exchange,提问作者Quenuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 15:53:09