【发布时间】:2014-03-03 22:59:31
【问题描述】:
我正在使用 Microsoft SQL Server 2008 并尝试使用 JDBC 连接到数据库。下面是我的代码。用户名和密码使用Windows认证。
String url1 = "jdbc:sqlserver://ServerName;databaseName=v14testvp;user=USERNAME;password='';";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection(url1);
我在尝试连接时遇到打击错误
com.microsoft.sqlserver.jdbc.SQLServerException:用户“USERNAME”登录失败。 ClientConnectionId:befb617f-8382-4388-ad98-a210ed0c3105
有人可以帮助我检查解决错误的方法吗?我尝试在我的 url1 字符串中填写用户名和密码,但我得到了同样的错误。我也尝试在用户名(域\用户名)中包含域。我对 sql 和 java 比较陌生,所以希望我只是缺少一些简单的东西。
编辑:
我将代码更改为以下
String url1 = "jdbc:sqlserver://servername;databaseName=v14testvp;integratedSecurity=true;authenticationScheme=JavaKerberos";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection(url1);
我现在收到以下错误。我有 sqljdbc_auth.dll。有人可以为我指出如何解决这个问题的正确方向吗?
com.microsoft.sqlserver.jdbc.SQLServerException:集成身份验证失败。 ClientConnectionId:0e66f60e-958c-4c8e-85b9-484023f16ecf 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) 在 com.microsoft.sqlserver.jdbc.KerbAuthentication.intAuthInit(KerbAuthentication.java:140) 在 com.microsoft.sqlserver.jdbc.KerbAuthentication.GenerateClientContext(KerbAuthentication.java:268) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2691) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) 在 com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) 在 com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) 在 java.sql.DriverManager.getConnection(未知来源) 在 java.sql.DriverManager.getConnection(未知来源) 在 com.ibm.atmn.tests.DumbyClass.DumbyTests(DumbyClass.java:52) 原因:javax.security.auth.login.LoginException:无法获取身份验证的主体名称
【问题讨论】:
-
com.microsoft.sqlserver.jdbc.SQLServerException:用户“用户名”登录失败。 1) 确保用户名/密码正确。 2)如果您是从远程机器访问,请确保远程访问被授予
-
@Nambari - 用户名/密码正确,并授予远程访问权限
-
@TestRaptor 你找到解决问题的方法了吗?
标签: java sql-server jdbc