Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

JDBC: как законнектится к mssql, если на ней windows authentication

mysql
windows
jdbc
java
Теги: #<Tag:0x00007fedc74d5d20> #<Tag:0x00007fedc74d5be0> #<Tag:0x00007fedc74d5aa0> #<Tag:0x00007fedc74d5938>

(Nikitoz777) #1

как законнектится к базе, если на ней windows authentication

Код

        def icmsDb = [
                url            : "jdbc:sqlserver://ip",
                username       : "SC\\NIvanov",
                password       : "password",
                driverClassName: "com.microsoft.sqlserver.jdbc.SQLServerDriver"
        ]

        dbConnection = Sql.newInstance(icmsDb.url.toString(), icmsDb.username.toString(), icmsDb.password.toString(), icmsDb.driverClassName.toString())


    }

Логи и ошибка вот такая
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'SC\NIvanov'.


(rmerkushin) #2

У вас опечатка в MSSQL в заголовке )


(Nikitoz777) #3

разобрался,

System.setProperty(“java.library.path”, "C:\1 ---- путь к sqljdbc_auth.dll (скачать с инета) ");

    try {

        final Field sysPathsField = ClassLoader.class.getDeclaredField("sys_paths");
        sysPathsField.setAccessible(true);
        sysPathsField.set(null, null);

    }
    catch (Exception ex){
        throw new RuntimeException(ex);
    }

в connection string Добавляем строку ;integratedSecurity=true; и все работает