【问题标题】:JTDS Connection problems to SQL Server - Works on 2000 but not 2005JTDS 与 SQL Server 的连接问题 - 适用于 2000 但不适用于 2005
【发布时间】:2010-09-06 08:39:48
【问题描述】:

我一直试图让一个 java 应用程序通过 jtds jdbc 连接到几个 SQL 服务器。我必须通过 Windows 身份验证连接。

指定的连接字符串是:

String connectionString = _"jdbc:jtds:sqlserver://"+server+":"+port+"/"+database+";domain="+domain;_

我通过以下方式获得连接:

con = java.sql.DriverManager.getConnection(url, _username, _password);

这在我的 SQL Server 2000 上运行良好,但在 SQL Server 2005 上却不行。在我的 SQL Server 2005 上,我收到以下错误消息:

java.sql.SQLException: 用户 '' 登录失败。该用户未与受信任的 SQL Server 连接关联。

看起来有点好笑,因为异常中的用户是空白的,但参数中指定的用户名不是空白。

我感觉这可能与 NTLM 和 Windows 身份验证有关,因为当我尝试使用 SQL 身份验证(即没有域属性)登录时它可以工作

【问题讨论】:

    标签: sql-server sql-server-2005 jdbc


    【解决方案1】:

    发生这种情况是因为 SQL Server 2005/2008 在安装后具有不同的默认值。您仍然需要:

    1. 在您的 Windows 防火墙中打开端口 1433。
    2. 在端口 1433 上启用 TCP 侦听器(在 SQL 配置管理器中)(您可以为您的计算机拥有的每个 IP 地址启用/禁用侦听器)
    3. 启用 sa 帐户(或创建您自己的 SQL 帐户)(这也假设您没有使用集成身份验证)
    4. 为您的实例启用混合身份验证。

    如果这不起作用,请告诉我们您使用 Microsoft JDBC 驱动程序 3.x 版或更高版本获得的结果...

    【讨论】:

      猜你喜欢
      • 2016-10-16
      • 2018-12-27
      • 2016-11-16
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      相关资源
      最近更新 更多