使用SQLserver jdbc连接数据库很困难

jav*_*vah 2 java database sql-server jdbc

我正在尝试使用sqljdbc4连接到我的数据库,我对此很新,所以我遵循了几个教程,但它似乎仍然无法工作,当我尝试运行程序时,我得到了这个例外:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''.        ClientConnectionId:f181fd37-7e28-4392-ac86-02914c2090e1
at  com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    try {

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

        Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=DBank;","","");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
         } catch (SQLException e) {
            e.printStackTrace(); 
         }
    return null;
Run Code Online (Sandbox Code Playgroud)

Mar*_*eel 5

您没有传递任何身份验证凭据.如果要使用集成安全性(Windows身份验证),则需要在连接URL中明确指定,并且需要加载此所需的本机库.

请参阅MSDN上Windows上的Windows上的集成身份验证.

这基本上归结为sqljdbc_auth.dlljava.library.path系统属性中包含包含(32位或64位)的文件夹(请参阅链接以获取详细信息)并添加integratedSecurity=true到您的连接字符串:

DriverManager.getConnection(
   "jdbc:sqlserver://localhost:1433;databaseName=DBank;integratedSecurity=true");
Run Code Online (Sandbox Code Playgroud)