Java JDBC无法连接到MSSQL服务器

Java JDBC无法连接到MSSQL服务器,java,sql,sql-server,jdbc,connection,Java,Sql,Sql Server,Jdbc,Connection,我尝试了很多方法来解决我的问题,但没有一种有效,所以我现在就来回答这个问题。我用SQLServerManagementStudio创建了一个本地数据库。它的名字是呼叫中心,我为它创建了一个用户帐户,授予了所有特权,我可以用它登录数据库,在Managemenet Studio中,这里一切正常 现在我使用NetBeans来创建连接。我下载了MicrosoftJDBC驱动程序,设置了所有东西,JDBC似乎工作正常。问题是,它无法连接到数据库。我将登录选项设置为Windows和SQL。我尝试使用inte

我尝试了很多方法来解决我的问题,但没有一种有效,所以我现在就来回答这个问题。我用SQLServerManagementStudio创建了一个本地数据库。它的名字是呼叫中心,我为它创建了一个用户帐户,授予了所有特权,我可以用它登录数据库,在Managemenet Studio中,这里一切正常

现在我使用NetBeans来创建连接。我下载了MicrosoftJDBC驱动程序,设置了所有东西,JDBC似乎工作正常。问题是,它无法连接到数据库。我将登录选项设置为Windows和SQL。我尝试使用integrated Security(windows帐户)以及创建的(和工作的)SQL用户帐户登录

它们都不起作用,我总是遇到这样的例外:

com.microsoft.sqlserver.jdbc.SQLServerException:用户登录失败 “管理员”。客户连接ID:1ce0b951-5ecb-49b4-a4d0-ff4a96af4ed2 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)

代码如下:

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

public class Try {

    public static void main(String[] args) {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url="jdbc:sqlserver://localhost:1434;databaseName=CallCenter;integratedSecurity=true;";
            Connection conn = DriverManager.getConnection(url);        
        } catch (ClassNotFoundException e) {
            System.err.println("SQL Driver class does not exist!");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

我已经上网好几个小时了,尝试了很多解决方案,但没有一个能帮我解决这个问题。请帮帮我

异常说明了一切-使用数据库检查您的凭据(您显然没有提供)。

异常说明了一切-使用数据库检查您的凭据(您显然没有提供)。

用户“admin”的
登录失败。
您得到的错误是一个明确的指示
您的登录请求已到达SQL server,但您的凭据错误。
因此,您的用户名或密码可能有误,或者此登录不正确

配置为远程登录到SQL server。检查服务器上的配置

用户“admin”的
登录失败
错误是一个明确的指示
您的登录请求已到达SQL server,但您的凭据错误。
因此,您的用户名或密码可能有误,或者此登录不正确

配置为远程登录到SQL server。检查服务器上的配置

使用的其他方法使用凭据获取连接

当您有
integratedSecurity=True
时,您可以进一步了解它的实际含义。它使用您的windows凭据进行登录(使用SQL Server)。 因此,将其设为false并为DB提供凭据

供参考

[编辑]

尝试使用此选项而不是integratedSecurity


jdbc:sqlserver://HOSP_SQL1.company.com;用户=名称;密码=abcdefg;database=Test

使用的其他方法使用凭据获取连接

当您有
integratedSecurity=True
时,您可以进一步了解它的实际含义。它使用您的windows凭据进行登录(使用SQL Server)。 因此,将其设为false并为DB提供凭据

供参考

[编辑]

尝试使用此选项而不是integratedSecurity


jdbc:sqlserver://HOSP_SQL1.company.com;用户=名称;密码=abcdefg;database=Test

在此处检查凭证用户名/密码General
Connection conn=DriverManager.getConnection(url)
主要使用另外两个参数-user+password-
Connection conn=DriverManager.getConnection(url、user、pass)在此处检查凭据用户名/密码常规
Connection conn=DriverManager.getConnection(url)
主要使用另外两个参数-user+password-
Connection conn=DriverManager.getConnection(url、user、pass)嗯,我的用户名和密码肯定是正确的,正如我所说,当我从工作室登录时,它就可以工作了。我仔细检查了一下,它们是匹配的。在Studio中,我右键单击我的服务器,并将所有权限授予管理员用户。还是不行。我在哪里可以配置远程登录?也许还有别的想法吗?谢谢你们的帮助,伙计们!当您从运行Java代码的同一台机器上从studio登录时,它会工作?是的,它是同一台机器!发布一些截图。您是使用SQL server身份验证还是Windows身份验证登录?另请参见nazar_art.Class.forName的评论(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);String url=“jdbc:sqlserver://localhost:1434;实例=MSSQLSERVER;数据库名=呼叫中心;集成安全性=false;“;Connection conn=DriverManager.getConnection(url,“acc”,“pass”);我换了这个版本的连接,它仍然不工作。我总是犯同样的错误。你希望我发布什么样的截图?工作室使用相同的登录方式工作(我更改了acc并通过了评论)。我确实正确地获得了用户名和密码,正如我所说的,当我从工作室登录时,它可以工作。我仔细检查了一下,它们是匹配的。在Studio中,我右键单击我的服务器,并将所有权限授予管理员用户。还是不行。我在哪里可以配置远程登录?也许还有别的想法吗?谢谢你们的帮助,伙计们!当您从运行Java代码的同一台机器上从studio登录时,它会工作?是的,它是同一台机器!发布一些截图。您是使用SQL server身份验证还是Windows身份验证登录?另请参见nazar_art.Class.forName的评论(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);String url=“jdbc:sqlserver://localhost:1434;实例=MSSQLSERVER;数据库名=呼叫中心;集成安全性=false;“;Connection conn=DriverManager.getConnection(url,“acc”,“pass”);我换了这个版本的连接,它仍然不工作。我总是犯同样的错误。你希望我发布什么样的截图?工作室使用相同的登录名(我更改了acc并传递了评论)。是的,正如我所说的,我试过了,我只是复制了integratedSecurity版本。但还是不行。是的,我试过了,就像我说的,我只是复制了integratedSe