java - 通过 Java 代码连接到 MicroSoft Sql Server 2012 时出现连接错误

标签 java sql-server

我正在尝试通过以下java代码连接到Ms Sql server 2012。

`public class MsSqlServerConnection {

public static void main(String[] args) throws Exception{

    try {

        Driver d = (Driver)Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    /*  String connectionURL = "jdbc:sqlserver://localhost:1433;databaseName=Gpstrack;user=;password="; */
        Connection connection = null;
        /*Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");*/
        connection = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;user=BARCELONA\\V&V;database=Gpstrack");

        if(connection!=null){
            System.out.println("connection is successfull");
        }else
        {
            System.out.println("Connection error");
        }

    } catch (SQLException e) {
        throw e;
    } catch (Exception e) {
        throw e;
    }

}

}`

当我运行上面的代码时,出现以下错误。

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'BARCELONA\V&V'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2529)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1905)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MsSqlServerConnection.main(MsSqlServerConnection.java:17)

所以请帮助我消除这个错误。

最佳答案

您有一个密码为空的 Active Directory 域用户吗?这相当不寻常,而且有些危险,但我会尽力关注你的问题。

'BARCELONA\' 到 sql server 表示域名,我没有看到您的连接字符串表示集成安全性。

因此,它可以像在连接字符串中指示集成安全性一样简单:jdbc:sqlserver://localhost:1433;integratedSecurity=true;

参见this link for documentation on building your connection string url for jdbc .

关于java - 通过 Java 代码连接到 MicroSoft Sql Server 2012 时出现连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581151/

相关文章:

java - 我的弹跳球不画图

java - 从 bean 检索内容而不必担心返回 null?

sql - SQL 内连接问题

Ubuntu 20.04 中 MSSQL 的 PHP 驱动程序

sql - BULK INSERT 内部如何工作?

sql-server - SQL Server 的自然排序?

java - 如何从 web 表访问特定行

java - 如何对方法的立即退出进行单元测试

java - 使用hamcrest匹配Map包含不同类型的条目

sql-server - SQL Try Catch 在存储过程中 - 我这样做对吗?