Получение SQLException "ошибка входа пользователя" подключение к SQL Server 2008

Я пытаюсь подключиться к SQL Server 2008 через Java.

  1. я добавил sqljdbc4.jar в библиотеку моего проекта.
  2. имя пользователя и пароль не заданы для доступа к базе данных (проверка подлинности Windows).
  3. порт 1433 слушает, но я все еще получаю это исключение:

исключение SQL: com.Microsoft.от SQLServer.интерфейс jdbc.SQLServerException: ошибка входа для пользователя". ClientConnectionId: 085d5df3-ad69-49e1-ba32-b2b990c16a69

соответствующий код:

public class DataBases 
{

    private  Connection link;
    private  java.sql.Statement  stmt;
    public    ResultSet rs;

    public DataBases() 
    {  
        try 
        {    
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=DB;";
            Connection con = DriverManager.getConnection(connectionUrl);
        } 
        catch (SQLException e) 
        {
            System.out.println("SQL Exception: "+ e.toString());
        }
        catch (ClassNotFoundException cE)
        {
            System.out.println("Class Not Found Exception: "+ cE.toString());
        }
     }
}

4 ответов


если вы хотите аутентификацию windows, вам нужно добавить опцию integratedSecurity=true к вашему URL JDBC:

jdbc:sqlserver://localhost:1433;databaseName=DB;integratedSecurity=true

также необходимо sqljdbc_auth.dll (остерегайтесь 32/64 бит) в системном пути Windows или в каталоге, определенном через java.library.path

для деталей см. руководство водителя:http://msdn.microsoft.com/en-us/library/ms378428.aspx#Connectingintegrated


у меня была такая же проблема, когда я пытался подключиться к Microsoft SQL server с Java. Я использовал jTDS драйвер вместо обычного SQLJdbdc драйвер.

        Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
        String connectionUrl = "jdbc:jtds:sqlserver://localhost:1433;databaseName=DB;integratedSecurity=true";
        Connection con = DriverManager.getConnection(connectionUrl);

У меня была та же проблема. Его из-за неправильного формата ConnectionUrl. В ConnectionUrl отсутствуют имя пользователя и пароль.

String ConnectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=DB","username","password");"

Я надеюсь, что это работает хорошо!!!


это сообщение моя помощь: jdbc.SQLServerException: ошибка входа пользователя для любого пользователя

вам понадобится integratedSecurity=true флаг и убедитесь, что свойства сервера действительно установлены в "режим проверки подлинности Windows" под безопасностью.