2010-09-06 48 views
1

我一直在试图通过jtds jdbc连接到一对SQL服务器的Java应用程序。我必须通过Windows身份验证进行连接。JTDS连接问题到SQL Server - 2000年,但不2005 2005年工作

指定的连接字符串是:

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身份验证(ie.without域属性)登录

回答

0

出现这种情况,因为SQL Server 2005/2008安装它们后有不同的默认值。您仍然需要:

  1. 在您的Windows防火墙中打开端口1433。
  2. 在端口1433(在SQL配置管理器)TCP监听器(您可以启用/禁用监听器为每个IP地址你的机器有)
  3. 启用SA帐户(或创建自己的SQL帐户)(此还假定您未使用集成身份验证)
  4. 启用您的实例的混合身份验证。

如果这不起作用,然后告诉我们是什么导致你使用Microsoft JDBC驱动程序,版本3.x或更高...