Java JDBC无法连接到MSSQL Server

时间:2014-02-13 10:56:21

标签: java sql sql-server jdbc connection

我尝试了很多方法来解决我的问题,但没有一个能够解决问题,所以我在这里提出问题。我用SQL Server Management Studio创建了一个本地数据库。它的名字是CallCenter,我为它创建了一个用户帐户,授予了每个权限,我可以用它登录到数据库,在Managemenet Studio中,一切正常。

现在我使用NetBeans来创建连接。我下载了Microsoft JDBC驱动程序,设置了所有内容,JDBC似乎运行正常。问题是,它无法连接到数据库。我将登录选项设置为Windows& SQL。我尝试使用集成的sequrity(Windows帐户)以及创建的(并且正在工作的)SQL用户帐户登录。

他们都没有工作,我一直得到这个例外:

  

com.microsoft.sqlserver.jdbc.SQLServerException:用户登录失败   “管理员”。 ClientConnectionId: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();
        }
    }
}

我一直在浏览互联网几个小时,尝试了很多解决方案,但没有一个能解决这个问题。请帮帮我吧!

3 个答案:

答案 0 :(得分:2)

Exception几乎说明了一切 - 用数据库检查你的凭证(你显然没有给出)。

答案 1 :(得分:2)

您获得的Login failed for user 'admin'错误是一个明确的指示
您的登录请求到达SQL服务器但您的凭据是错误的 因此,您的用户名或密码错误,或者此登录名不是 配置为远程登录到SQL服务器。检查服务器上的配置。

答案 2 :(得分:0)

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

如果您有integratedSecurity=Trueread this可以了解其实际含义。它使用您的Windows凭据进行登录(使用SQL Server)。 因此,请将其设为false并为数据库提供凭据。

供参考read this

[编辑]

尝试使用此而不是integratedSecurity。

JDBC:SQLSERVER://HOSP_SQL1.company.com;用户名=;密码= ABCDEFG;数据库=测试