powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключится к SQL Server и сделать простейший запрос?
90 сообщений из 90, показаны все 4 страниц
Как подключится к SQL Server и сделать простейший запрос?
    #39816248
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу сильно не ругаться, уже несколько дней пытаюсь освоить Java, параллельно используя две программы: Eclipse и NetBeans и уже как-то очень тяжко понимать что куда и откуда.
Скачал и установил JDK, потом JDE, скачал драйвер JDBC для SQL Server (там правда много файлов, думаю нужно использовать sqljdbc42.jar)
Как данный файл подгрузить в проект вроде бы разобрался.

Обязательно использую import java.sql.*; вроде бы этого достаточно пока.

Нашёл как делать строку:

Код: java
1.
2.
3.
4.
5.
6.
        String instanceName = " serverName\\instanseName ";
        String databaseName = "Test";
        String userName = "Usr";
        String pass = "**********";
        String connectionUrl = "jdbc:sqlserver://%1$s;databaseName=%2$s;user=%3$s;password=%4$s;";
        String connectionString = String.format(connectionUrl, instanceName, databaseName, userName, pass);



Возможно уже на данном этапе я не понимаю как правильно нужно проставлять сюда данные

Пробовал применять integratedSecurity=true, но драыер пишет, что не поддерживает, цитирую:

Код: java
1.
com.microsoft.sqlserver.jdbc.SQLServerException: Этот драйвер не настроен для встроенной проверки подлинности.



И это конечно уже сильно ставит в тупик, так мне пока и не удалось сделать соединение, мой код примерно такой:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
public class connectURL {
    public static void main(String[] args) {
        // Формирование строки подключения
        String connectionUrl = "jdbc:sqlserver://abon;databaseName=abon;integratedSecurity=true;";
        String connectionString = String.format(connectionUrl);
        try {
            // Подключение к базе данных
            Connection con = DriverManager.getConnection(connectionString);
            // Отправка запроса на выборку и получение результатов
            Statement stmt = con.createStatement();
            ResultSet executeQuery = stmt.executeQuery("SELECT top 10 * FROM [DogSch]");
            // Обход результатов выборки
            while (executeQuery.next()) {
                System.out.println(executeQuery.getString("kodtu1"));
            }
            // Закрываем соединение
            executeQuery.close();
            stmt.close();
            con.close();
        } catch (SQLException ex) {
            // Обработка исключений
            Logger.getLogger(connectURL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}



Направьте меня или покажите что не так я делаю
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816253
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES, непонтяно, к какой версии sql сервака, но тут - по-моему все довольно подробно описано:

https://docs.microsoft.com/ru-ru/sql/connect/jdbc/using-the-jdbc-driver?view=sql-server-2017
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816260
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Попробовал скачать последний драйвер: mssql-jdbc-7.2.2.jre8 (ну как я понял что последний)
Ошибка та же
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816267
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816268
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://docs.microsoft.com/ru-ru/sql/connect/jdbc/system-requirements-for-the-jdbc-driver?view=sql-server-2017


и до кучи - совместимость драйверов с версией явы и где-что оттестировано.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816309
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES, попробуй больше параметров дать. Может дефолтные не так работают. Как тут пишут.

https://docs.microsoft.com/en-us/sql/connect/jdbc/using-kerberos-integrated-authentication-to-connect-to-sql-server?view=sql-server-2017

Код: java
1.
jdbc:sqlserver://servername=server_name;integratedSecurity=true;authenticationScheme=JavaKerberos;userName=user@REALM;password=****
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816310
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, Добавил я параметр authenticationScheme = JavaKerberos;

Теперь ошибка такая: "Произошел сбой входа Kerberos Не удалось выполнить внутреннюю проверку подлинности"

Да и в целом я не уверен, что всё правильно делаю
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816316
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте использовать jtds драйвер вместо родного:

http://jtds.sourceforge.net/faq.html
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816328
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.попробуйте использовать jtds драйвер вместо родного:

http://jtds.sourceforge.net/faq.html
Он же написал - автор уже несколько дней пытаюсь освоить Java
Дайте ему хотя бы пару месяцев на изучение, а не устраивайте тут курсы для тех кто не может работающий пример скопировать.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816334
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПылинкаDmitry.попробуйте использовать jtds драйвер вместо родного:

http://jtds.sourceforge.net/faq.html
Он же написал - автор уже несколько дней пытаюсь освоить Java
Дайте ему хотя бы пару месяцев на изучение, а не устраивайте тут курсы для тех кто не может работающий пример скопировать.

Это надо 2 месяца чтобы разораться в куче этих драйверов и версий, чтобы всё таки сопоставить нужный вариант?
Мда... хотя наверное так и есть, этих версий JDK, JRE, JDBC и очень большая куча софта под всё это, тут действительно нужно прямо разбирать каждую версию из сотни, а может быть тысячи выпущенных
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816336
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пылинка,
И на счёт работающий код, он может быть и работал когда-то и было неплохо если бы указавали версии всех софтов, драйверов и другой несогласующей ....
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816345
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интеграция мать ее так. Эти вопросы всегда были ступором для новичков.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816346
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я слепой или автор даже ошибку не написал?

1)
Нафига сюда приплили Integrated Security мне вообще не понятно. Автор же явно пытается указать и user name и password в строке соединения. при чем и зачем Integrated Security и Kerberos.

Код: plaintext
1.
2.
Integrated Security
When false, User ID and Password are specified in the connection. When true, the current Windows account credentials are used for authentication.

2)
По первому коду автора явно видны пробелы в instanceName. С MS SQL не работал, но нафига они там нужны?

Вывод: ошибки нет, код не полный, результирующий (после format) Connection String автор не привел - гадание на кофейной гуще, что же у автора "так мне пока и не удалось".
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816352
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЯ слепой или автор даже ошибку не написал?

1)
Нафига сюда приплили Integrated Security мне вообще не понятно. Автор же явно пытается указать и user name и password в строке соединения. при чем и зачем Integrated Security и Kerberos.

Код: plaintext
1.
2.
Integrated Security
When false, User ID and Password are specified in the connection. When true, the current Windows account credentials are used for authentication.

2)
По первому коду автора явно видны пробелы в instanceName. С MS SQL не работал, но нафига они там нужны?

Вывод: ошибки нет, код не полный, результирующий (после format) Connection String автор не привел - гадание на кофейной гуще, что же у автора "так мне пока и не удалось".

Оу, оу, потише, с MS SQL я уже 20 лет работаю, программировал не разных языках и могу в принципе за пару часов научить делать программу простейшцю для коннекта и выборки, и вот я решил "немного" изучить Java, пролистал пару учебников и решил сделать маленький проектик, на понимание как это работает, а тут ТАКИЕ грабли, которые я даже в Visual Studio не встречал (давно это было)... а теперь попродробнее что не так с instanceName ?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816356
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES, киньте полный лог ошибки.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816360
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES....а теперь попродробнее что не так с instanceName ?
пробелы в instanceName
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816361
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

В NetBeans такая ошибка:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
мая 22, 2019 2:01:09 PM helloapp.connectURL main
SEVERE: null
com.microsoft.sqlserver.jdbc.SQLServerException: Произошел сбой входа Kerberos Не удалось выполнить внутреннюю проверку подлинности. ClientConnectionId:9323d7f3-b11b-40bd-b193-9403974264a7 из-за javax.security.auth.login.LoginException (Cannot get any of properties: [user, USER] from con properties not available to garner  authentication information  from the user)
	at com.microsoft.sqlserver.jdbc.KerbAuthentication.intAuthInit(KerbAuthentication.java:109)
	at com.microsoft.sqlserver.jdbc.KerbAuthentication.GenerateClientContext(KerbAuthentication.java:355)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4789)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3668)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:94)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3627)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2456)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
	at helloapp.connectURL.main(connectURL.java:14)
Caused by: javax.security.auth.login.LoginException: Cannot get any of properties: [user, USER] from con properties not available to garner  authentication information  from the user
	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.promptForName(Krb5LoginModule.java:845)
	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:681)
	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:592)
	at java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:726)
	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:688)
	at java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
	at java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
	at com.microsoft.sqlserver.jdbc.KerbAuthentication.intAuthInit(KerbAuthentication.java:86)
	... 15 more

BUILD SUCCESSFUL (total time: 1 second)



В Eclipse сейчас вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Pack.ConnectSQL.main(ConnectSQL.java:20)
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816363
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAngelOKES....а теперь попродробнее что не так с instanceName ?
пробелы в instanceName


Я руководствовался вот этой статьей: https://docs.microsoft.com/ru-ru/sql/connect/jdbc/building-the-connection-url?view=sql-server-2017, а именно:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

jdbc:sqlserver:// (обязательно) известен как подпротокол и является константой.

serverName (необязательно) является адресом сервера, с которым выполняется соединение. Это может быть DNS, IP-адрес, локальный узел или 127.0.0.1 локального компьютера. Имя сервера необходимо указать в коллекции свойств, если оно не указано в URL-адресе соединения.

instanceName (необязательно) является экземпляром, с которым выполняется соединение с serverName. Подключение выполняется к экземпляру по умолчанию, если не указано другое.

portNumber (необязательно) является портом, с которым выполняется соединение с serverName. Значение по умолчанию — 1433. Если соединение выполняется с портом по умолчанию, в URL-адресе необязательно указывать порт или символ ':' перед ним.



На основании этого я просто оставил имя Abon и не стал указывать ни порт, ни instanceName
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816367
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печально это все.

Вобщем даже если пофиксить - все равно автор не поймет и в следующий раз - теже грабли.

Кстати зачем mssql?

В учебных задачах с БД берут H2.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816369
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПечально это все.

Вобщем даже если пофиксить - все равно автор не поймет и в следующий раз - теже грабли.

Кстати зачем mssql?

В учебных задачах с БД берут H2.

Так у меня база на mssql, мне именно с ней и нужно работать
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816376
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES, так а эта самау аутентификация какая должна быть? доменная эта или просто логин и пароль без всяких доменов и керберосов?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816377
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так-то я уже понял, что Java это большой гемморой, но всё таки хочеться разобраться и написать класс для соединения с сервером
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816380
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинAngelOKES, так а эта самау аутентификация какая должна быть? доменная эта или просто логин и пароль без всяких доменов и керберосов?

Ну в целом мне уже пофиг, хоть как-нибудь уже присоединиться, но хотелось бы конечно чтобы он сам брал доменной имя пользователя и пароль, потому что я не хотел бы писать пароли всех пользователей или оставлять в программе все эти данные
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816386
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESОзверинAngelOKES, так а эта самау аутентификация какая должна быть? доменная эта или просто логин и пароль без всяких доменов и керберосов?

Ну в целом мне уже пофиг, хоть как-нибудь уже присоединиться, но хотелось бы конечно чтобы он сам брал доменной имя пользователя и пароль, потому что я не хотел бы писать пароли всех пользователей или оставлять в программе все эти данные

тогда есть смысл начать с NativeAuthentication. Уберите authenticationScheme , передайте нативного пользователя (я хз, как то же отличаются на сервак пользователи с разными режимами аутентификации?) и пароль от него и давайте полный лог ошибки .

В эклипсе, к слову, странная ошибка, потому что начиная 4.0 версии jdbc драйверов classforname делать не надо жы.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816390
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин....В эклипсе, к слову, странная ошибка.
Чем странная?
драйвер в classpath не нашли, вот и ошибка
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816393
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESТак-то я уже понял, что Java это большой гемморой, но всё таки хочеться разобраться и написать класс для соединения с сервером
автор не с того и не так ты начал знакомство с Java
ну да ладно,у тебя проблема в регистрации драйвера ,именно это тебе эклипс и говорит
не вижу вот этих строчек кода

Код: java
1.
2.
      Driver driver=new com.mysql.cj.jdbc.Driver();
      DriverManager.registerDriver(driver);
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816394
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevОзверин....В эклипсе, к слову, странная ошибка.
Чем странная?
драйвер в classpath не нашли, вот и ошибка

этим и странная;) Либо в classpath лежит более старый драйвер.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816397
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, Попробовал прописать username и password, убрал лишние параметры:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
com.microsoft.sqlserver.jdbc.SQLServerException: Ошибка входа пользователя "okes/angel". ClientConnectionId:640f4677-25e8-4bbb-84ac-7e724e3bb8b0
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
	at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:258)
	at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:104)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:5036)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3668)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:94)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3627)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2456)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
	at helloapp.connectURL.main(connectURL.java:14)



На счёт вот этого: "драйвер в classpath не нашли" можно подробнее?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816398
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79AngelOKESТак-то я уже понял, что Java это большой гемморой, но всё таки хочеться разобраться и написать класс для соединения с сервером
автор не с того и не так ты начал знакомство с Java
ну да ладно,у тебя проблема в регистрации драйвера ,именно это тебе эклипс и говорит
не вижу вот этих строчек кода

Код: java
1.
2.
      Driver driver=new com.mysql.cj.jdbc.Driver();
      DriverManager.registerDriver(driver);



jdbc спека обязывает драйверам самим вызывать эту конструкцию правильно. Этих строк программист не должен писать за тем исключением, что он разрабатывает jdbc драйвер.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816400
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES, это разве полный лог файл?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816401
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и само исользование БД выглядит примерно вот так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private static final String url = "jdbc:mysql://us-cdbr-iron-east-01.cleardb.net:3306/heroku_839483b01dcbc34?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
   private static final String name="";// имя и пароль доступа к данной БД
   private static final String password="";


    void update(String sql) throws SQLException  {
       try (Connection con = DriverManager.getConnection(url, name, password);
               Statement statement=con.createStatement()){
           statement.executeUpdate(sql);
       }
       }


обрати внимание что это конструкция try catch с ресурсами,которая имплементирует итерфейс автоклозэйбл,тоесть ничего руками закрывать не нужно
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816404
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не вижу вот этих строчек кода

Код: java
1.
2.
      Driver driver=new com.mysql.cj.jdbc.Driver();
      DriverManager.registerDriver(driver);

[/quot]

Ну зато у меня есть вот эти:

Код: java
1.
2.
       		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            		con = DriverManager.getConnection(connectionUrl);



Или куда мне добавить эти строчки в мой код?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816406
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин
jdbc спека обязывает драйверам самим вызывать эту конструкцию правильно. Этих строк программист не должен писать за тем исключением, что он разрабатывает jdbc драйвер.
пусть автор напишет эти строчки и у него все заработает
я уже наступал на эти костыли,когда писал ТГ бота
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816408
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинAngelOKES, это разве полный лог файл?

Ну в Eclipse я не стал делать, проблема я так понял в регистрации этого компонента и её программа просто не видит
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816409
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO чудес не бывает

asv79Ошибка входа пользователя "okes/angel"

На самой БД проверять (или спросить у админа):

1) Существует ли пользователь "okes/angel" и правильно ли указали пароль. Большие-маленькие буквы и пр.
2) Как я понимаю, angel - это имя домена. Возможно пользователь должен быть не из angel, а из другого домена.

IMHO
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816413
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevIMHO чудес не бывает

asv79Ошибка входа пользователя "okes/angel"

На самой БД проверять (или спросить у админа):

1) Существует ли пользователь "okes/angel" и правильно ли указали пароль. Большие-маленькие буквы и пр.
2) Как я понимаю, angel - это имя домена. Возможно пользователь должен быть не из angel, а из другого домена.

IMHO

он должен был включить нативную аутиентификацию, там тоже есть домен?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816414
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevIMHO чудес не бывает

asv79Ошибка входа пользователя "okes/angel"

На самой БД проверять (или спросить у админа):

1) Существует ли пользователь "okes/angel" и правильно ли указали пароль. Большие-маленькие буквы и пр.
2) Как я понимаю, angel - это имя домена. Возможно пользователь должен быть не из angel, а из другого домена.

IMHO

Я Админ, спросил себя и да, такой пользователь точно есть, я сам себе ответил и сам каждый день логинюсь и ввожу пароль
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816416
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESне вижу вот этих строчек кода

Код: java
1.
2.
      Driver driver=new com.mysql.cj.jdbc.Driver();
      DriverManager.registerDriver(driver);



Ну зато у меня есть вот эти:

Код: java
1.
2.
       		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            		con = DriverManager.getConnection(connectionUrl);



Или куда мне добавить эти строчки в мой код?[/quot]
classForname убрать,это не работает сейчас так ,а поставить вот эти две строчки кода

Код: java
1.
2.
 Driver driver=new com.mysql.cj.jdbc.Driver();
      DriverManager.registerDriver(driver);
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816417
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Домен точно совпадает?
Спец.симвлов, больших-маленьких букв в пароле нет?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816418
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудесь не бывает.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816419
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он должен был включить нативную аутиентификацию, там тоже есть домен?

Это какой-то параметр? Где его нужно указать?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816420
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevДомен точно совпадает?
Спец.симвлов, больших-маленьких букв в пароле нет?

Запятая есть в пароле, может это проблема?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816422
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESон должен был включить нативную аутиентификацию, там тоже есть домен?

Это какой-то параметр? Где его нужно указать?

это когда вы убрали из аргументов authenticationScheme случилось.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816424
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал нового пользователя SQL, дал ему права и всё заработало, теперь надо понять как коннектится под доменным именем, не указывая логин и пароль
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816428
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Eclipse всё ещё не работает

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Pack.ConnectSQL.main(ConnectSQL.java:19)
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816437
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESСоздал нового пользователя SQL, дал ему права и всё заработало, теперь надо понять как коннектится под доменным именем, не указывая логин и пароль
1) молодец

2)
https://docs.microsoft.com/en-us/sql/connect/jdbc/setting-the-connection-properties?view=sql-server-2017

авторauthentication
...
Beginning with Microsoft JDBC Driver 6.0 for SQL Server, this optional property indicates which SQL authentication method to use for connection. Possible values are ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryMSI, SqlPassword, and the default NotSpecified.
....
Important: If authentication is set to ActiveDirectoryIntegrated, the following two libraries need to be installed: SQLJDBC_AUTH.DLL (available in the JDBC driver package) and Azure Active Directory Authentication Library for SQL Server (ADALSQL.DLL) It's available in different languages (for both x86 and amd64) from the download center at Microsoft Active Directory Authentication Library for Microsoft SQL Server. The JDBC driver only supports version 1.0.2028.318 and higher for the ADALSQL.DLL.
....
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816438
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESА в Eclipse всё ещё не работает
IMHO Забей на Exclipse
Решай одну проблему за раз.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816441
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESmaytonПечально это все.

Вобщем даже если пофиксить - все равно автор не поймет и в следующий раз - теже грабли.

Кстати зачем mssql?

В учебных задачах с БД берут H2.

Так у меня база на mssql, мне именно с ней и нужно работать
Ты несколько дней пытаешся освоить Java. И взялся сразу за сложные вопросы которые выходят аж
далеко за рамки просто Java. Те-же самые протоколы обычно обсуждаются. Обсуждаются знающими
людьми.

Ты поднял MS-SQL и говоришь дескыть надо. Но ты точно понимаешь что такое integratedSecurity и как ОНО
взаимодействует с твоим приложением?

Я в топике тебя не осуждаю и не ругаю. Я просто пытаюсь понять - понимаешь ли ты глубину всех вопросов
которые ты как новичек на себя потянл?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816449
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Вы немного не правы. У человека есть работающая БД с работающей инфраструктурой (возможно прод). Тут уже вопросов про "глубину" - не возникает. Начальство в воду кинуло - или выплывешь, или потонешь сам, или затопишь прод )))
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816455
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другое дело, что вопрос не по Java, а по инфраструктуре. А тут форумные "телепаты", могут только гадать глядя на кофейную гущю ))) и сертифицированные хрустальные шары. Т.к. как настроена инфраструктура у автора, вряд ли кто-то знает.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816459
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты поднял MS-SQL и говоришь дескыть надо. Но ты точно понимаешь что такое integratedSecurity и как ОНО
взаимодействует с твоим приложением?
Я в топике тебя не осуждаю и не ругаю. Я просто пытаюсь понять - понимаешь ли ты глубину всех вопросов
которые ты как новичек на себя потянл?

Да конечно же я не понимаю всех тонкостей Java и мне явно далеко до полного понимания.
С базами данных работаю свю жизнь и писал много программа на разных языках и обычно быстро вникаю и понимаю основы
С Java конечно всё сложнее, наверное это связано с тем, что очень много сторонних вещей нужно соединить и заставить вместе работать и плюс очень быстро всё меняется, но я не вижу особых причин для такого усложнения.
Слава богу вам за понимание и за помощь, уже кое-что стало получатся, мне бы добраться до данных и понять как выполнять запросы на сервер, а дальше уже всё дело техники, хотя свои приколы в Java есть и с типами и операторами, но это уже мелочи, разберусь, тем более больших задач я для себя не ставлю, хочу понять, как тут всё работает и возможно напишу какую-нибудь маленькую программу, конечно же, основная причина это работа приложения через интернет, хоть и понимаю, что не самый лучший выбор.

На счёт integratedSecurity, конечно же я понимаю что это и для чего и хотелось бы чтобы этот параметр работал, но на данный момент перепробовал разные драйвера и везде пишеться что данная опция не поддерживается, куда копать дальше пока не ясно
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816466
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevДругое дело, что вопрос не по Java, а по инфраструктуре. А тут форумные "телепаты", могут только гадать глядя на кофейную гущю ))) и сертифицированные хрустальные шары. Т.к. как настроена инфраструктура у автора, вряд ли кто-то знает.

А что вы хотите узнать? База данных SQL Server 2008, есть пользователи как SQL, так и доменные, и конечно же доступ прописан разный, хранить в программе логин и пароль это реальный бред, поэтому и пытаюсь найти решение, чтобы можно было коннектится под пользователем который сейчас находиться на компьютере, не заставляя пользователя самому всё это вводить
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816473
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES
sqljdbc_auth.dll установили?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816475
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESLeonid KudryavtsevДругое дело, что вопрос не по Java, а по инфраструктуре. А тут форумные "телепаты", могут только гадать глядя на кофейную гущю ))) и сертифицированные хрустальные шары. Т.к. как настроена инфраструктура у автора, вряд ли кто-то знает.

А что вы хотите узнать? База данных SQL Server 2008, есть пользователи как SQL, так и доменные, и конечно же доступ прописан разный, хранить в программе логин и пароль это реальный бред, поэтому и пытаюсь найти решение, чтобы можно было коннектится под пользователем который сейчас находиться на компьютере, не заставляя пользователя самому всё это вводить
А мы нормально храним. В трехзменках. Ну... не в прямом виде. Там Jasypt используется.
Но в схеме Linux->Java->JDBC обычно логин пароль нормально работает. Либо если встраиваемая
система там вообще нет понятия пользователь. Просто интерконнект и всё. Локально. Так летают
всякие LevelDb, Infinispan, и прочие кеши.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816478
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAngelOKES
sqljdbc_auth.dll установили?

Он у меня кстати есть, только вот куда и как его нужно устанавливать не знаю, скопировал как все dll в windows/syswow64

авторА мы нормально храним. В трехзменках. Ну... не в прямом виде. Там Jasypt используется.
Но в схеме Linux->Java->JDBC обычно логин пароль нормально работает. Либо если встраиваемая
система там вообще нет понятия пользователь. Просто интерконнект и всё. Локально. Так летают
всякие LevelDb, Infinispan, и прочие кеши.


Я в принципе не против в дальнейшем сделать какой-то импорт/экспорт данных, но пока это не самоцель, хотя всё равно не понимаю как это нет понятия пользователь, а как вы определите кто изменил/добавил/удалил или для вас такая инфа тоже не нужна?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816484
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESLeonid Kudryavtsevпропущено...

sqljdbc_auth.dll установили?

Он у меня кстати есть, только вот куда и как его нужно устанавливать не знаю, скопировал как все dll в windows/syswow64
....

AngelOKESЯ Админ

ЛЕГКИЙ ОФФТОПИК ОН

Я всегда думал, что админы сначала читают документацию, потом делают. В отличие от программистов ))) которые действуют по принципу "если что-то не получается, прочти документацию" (а если все получается - зачем ее читать? ))) )

ОФФТОПИК ОФФ

https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-2017#Connectingintegrated

Тут только внимательно, возможна засада с 64 бит и 32 бит версией Java.

To use integrated authentication, copy the sqljdbc_auth.dll file to a directory on the Windows system path on the computer where the JDBC driver is installed.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816491
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To use integrated authentication, copy the sqljdbc_auth.dll file to a directory on the Windows system path on the computer where the JDBC driver is installed.[/quot]

Ну так это я сразу сделал, я думал может надо что-то особенное сделать, не помогает значит
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816494
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESНу так это я сразу сделал, я думал может надо что-то особенное сделать, не помогает значит
Какая версия Java 32 бит или 64 бит.
Точно DLL правильной версии (32/64) взяли?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816495
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, опять таки, нужен полный трейс ошибки. Т.к. там еще должно быть

https://blogs.msdn.microsoft.com/jdbcteam/2007/06/18/com-microsoft-sqlserver-jdbc-sqlserverexception-this-driver-is-not-configured-for-integrated-authentication/

WARNING: Failed to load the sqljdbc_auth.dll
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816499
procmon-ом посмотри где процесс ддл-ку ищет

у меня для входа с доменным имением в system32 лежит эта ддл, для 64битной явы
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816504
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESЯ в принципе не против в дальнейшем сделать какой-то импорт/экспорт данных, но пока это не самоцель, хотя всё равно не понимаю как это нет понятия пользователь, а как вы определите кто изменил/добавил/удалил или для вас такая инфа тоже не нужна?
Для трехзвенок конечный пользователь не ходит в БД. Грубо говоря есть технологическая учотка.
В идеале она одна единственная. И под ней работает пул коннектов. Безопасность входа пользователя
(если таковой есть) решается на уровне 1-го и 2-го звеньев по разному. Но БД видит всегда одну учётку.
Иногда вводятся учотки по ролям. Staging, Processing, Olap, Backup. И в них тоже людей нету. Это какие-то ассоциированные
с задачей или с модулем принципалы.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816513
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAngelOKESЯ в принципе не против в дальнейшем сделать какой-то импорт/экспорт данных, но пока это не самоцель, хотя всё равно не понимаю как это нет понятия пользователь, а как вы определите кто изменил/добавил/удалил или для вас такая инфа тоже не нужна?
Для трехзвенок конечный пользователь не ходит в БД. Грубо говоря есть технологическая учотка.
В идеале она одна единственная. И под ней работает пул коннектов. Безопасность входа пользователя
(если таковой есть) решается на уровне 1-го и 2-го звеньев по разному. Но БД видит всегда одну учётку.
Иногда вводятся учотки по ролям. Staging, Processing, Olap, Backup. И в них тоже людей нету. Это какие-то ассоциированные
с задачей или с модулем принципалы.

Да я вас понял, что-то подобное делал, не очень удобная штука, каждый раз пользователь должен выбирать из списка пользователя, вносить пароль и работать или ещё хуже, если не нужно делать, а всегда будет заходить под какой-то вшитой учётки... никакой безопасности, особенно когда есть более сотни уникальных пользователей

авторКакая версия Java 32 бит или 64 бит.
Точно DLL правильной версии (32/64) взяли?


и JDK и JDE качал именно 64-битный и софт тоже, сейчас попробую другой драйвер скачать sqljdbc_7.0
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816518
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переустановил, полный лог ошибки:

автормая 22, 2019 4:34:50 PM com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path: [C:\Program Files\Java\jdk-12.0.1\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Program Files (x86)\Common Files\Oracle\Java\javapath, C:\ProgramData\Oracle\Java\javapath, C:\Program Files (x86)\Intel\iCLS Client\, C:\Program Files\Intel\iCLS Client\, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\, C:\Program Files\Microsoft SQL Server\100\Tools\Binn\, C:\Program Files\Microsoft SQL Server\100\DTS\Binn\, C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\, C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\, C:\Users\angel\AppData\Local\Microsoft\WindowsApps, ., .]
мая 22, 2019 4:35:05 PM helloapp.connectURL main
SEVERE: null
com.microsoft.sqlserver.jdbc.SQLServerException: Этот драйвер не настроен для встроенной проверки подлинности. ClientConnectionId:62dec659-e42b-45b9-983f-c9accac0713f
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2826)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:73)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3550)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:81)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3541)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7240)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2869)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2395)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2042)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1889)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1120)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:700)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at helloapp.connectURL.main(connectURL.java:17)
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path: [C:\Program Files\Java\jdk-12.0.1\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Program Files (x86)\Common Files\Oracle\Java\javapath, C:\ProgramData\Oracle\Java\javapath, C:\Program Files (x86)\Intel\iCLS Client\, C:\Program Files\Intel\iCLS Client\, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\, C:\Program Files\Microsoft SQL Server\100\Tools\Binn\, C:\Program Files\Microsoft SQL Server\100\DTS\Binn\, C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\, C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\, C:\Users\angel\AppData\Local\Microsoft\WindowsApps, ., .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:827)
at java.base/java.lang.System.loadLibrary(System.java:1902)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:52)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3549)
... 12 more

BUILD SUCCESSFUL (total time: 15 seconds)
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816519
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESLeonid Kudryavtsevпропущено...

sqljdbc_auth.dll установили?

Он у меня кстати есть, только вот куда и как его нужно устанавливать не знаю, скопировал как все dll в windows/syswow64

Кстати. Интеграция с MSSQL с дотнетом ... хм.. более безшовная получилась-бы.

Думал об этом? Или высказывал такое мнение тому господину который скинул на тебя эту задачу.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816523
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES,


Код: html
1.
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path




собственно, потому и просят полный stacktrace ошибки.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816524
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал, а потом сам понял куда нужно скопировать данный файл )))

Заработало!!!
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816527
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКстати. Интеграция с MSSQL с дотнетом ... хм.. более безшовная получилась-бы.
Думал об этом? Или высказывал такое мнение тому господину который скинул на тебя эту задачу.

Думал уже на счёт этого, меня особо никто не гонит, но до конца года надо что-то родить рабочее, было бы неплохо разработать мобильное приложение
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816528
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES....
и JDK и JDE качал именно 64-битный и софт тоже, сейчас попробую другой драйвер скачать sqljdbc_7.0
Добавь в main метод печать всего содержимого System.getProperties()
там вроде будет и версия java встрачаться. Вообще IMHO полезно для отладки

в крайнем случае вроде можно из Runtime версию выташить, но примера кода у меня нет

Что "качал" - не интересно ))) Интересно, что конкретно выполняется ))) Часто это бывает совсем не то, что ты думаешь )))

IMHO & AFAIK
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816532
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESЗаработало!!!
Ну, слава богу.
Аминь
)))
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816544
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, Ну теперь я уже стал немного понимать что тут и как работает, с Eclipse тогда пока не буду мутить.

Кстати каким софтом рекомендовали бы пользоваться для написания программ по Java/HTML5/PHP

Примерно такую связку хочу использовать
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816547
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESmaytonКстати. Интеграция с MSSQL с дотнетом ... хм.. более безшовная получилась-бы.
Думал об этом? Или высказывал такое мнение тому господину который скинул на тебя эту задачу.

Думал уже на счёт этого, меня особо никто не гонит, но до конца года надо что-то родить рабочее, было бы неплохо разработать мобильное приложение
Ты хочешь мобильное приложение подключать напрямую в БД?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816548
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я кроме Eclipse и Idea ничего в своей жизни не использовал

С Eclipse же вообще понятная ошибка (Class not found). Вы не добавили .JAR с MS драйвером в проект или в classpath. Как правильно сделать - не подскажу.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816552
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТы хочешь мобильное приложение подключать напрямую в БД?

Именно так и хочу сделать
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816560
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЯ кроме Eclipse и Idea ничего в своей жизни не использовал

С Eclipse же вообще понятная ошибка (Class not found). Вы не добавили .JAR с MS драйвером в проект или в classpath. Как правильно сделать - не подскажу.

Всё разобрался и с Eclipse, в Eclipse у меня оказывается другая версия Java работала
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816564
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESmaytonТы хочешь мобильное приложение подключать напрямую в БД?

Именно так и хочу сделать
Это "не очень традиционно".

Обычно протоколы СУБД пытаются из корпоративной сетке во внешний мир не выставлять. Или выставлять только через VPN или для доверенных static IP адресов.

Мобильное же приложение обычно предполагает world wide.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816567
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAngelOKESпропущено...


Именно так и хочу сделать
Это "не очень традиционно".

Обычно протоколы СУБД пытаются из корпоративной сетке во внешний мир не выставлять. Или выставлять только через VPN или для доверенных static IP адресов.

Мобильное же приложение обычно предполагает world wide.
Это очень небезопасно. В интернетах принято шарить 80-й порт под веб. Для этого
уже созданы готовые коробочные балансеры, файрволы и API-гейтвеи.

Да и Java под мобилы другая. Надеюсь автор это понимает. Тоесть опыт полученный для серверной или десктопной
Java вряд-ли будет очень полезен для мобильных разработок. Там очень сильная своя специфика.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816572
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто "не очень традиционно".
Обычно протоколы СУБД пытаются из корпоративной сетке во внешний мир не выставлять. Или выставлять только через VPN или для доверенных static IP адресов.
Мобильное же приложение обычно предполагает world wide.

Ну в принципе моё приложение работает по всей моей области и всё работает через VPN, но когда очень нужно, то открываем внешний IP для доступа, так что не вижу проблем для того, чтобы дать доступ с мобильника, тем более приложение скорее всего будет очень ограниченым своими возможностями, типа что-то просмотреть и/или минимальные данные загрузить с полным логированием всех действий... Но это как бы задача-максимум, пока что мне нужно много чего освоить, прежде, чем это заработает хотя бы через сайт для начала хотелось бы сделать, чтобы с компа можно было бы зайти на мой сайт и просмотреть какую-то информацию (актуальную). А в принципе если очень нужно, то можно сделать и проходной сервер, настроить нужные репликации и вперёд, SQL Server очень мощная СУБД, лучше может быть только ORACLE, да и то не во всём
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816573
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESавторЭто "не очень традиционно".
Обычно протоколы СУБД пытаются из корпоративной сетке во внешний мир не выставлять. Или выставлять только через VPN или для доверенных static IP адресов.
Мобильное же приложение обычно предполагает world wide.

Ну в принципе моё приложение работает по всей моей области и всё работает через VPN, но когда очень нужно, то открываем внешний IP для доступа, так что не вижу проблем для того, чтобы дать доступ с мобильника, тем более приложение скорее всего будет очень ограниченым своими возможностями, типа что-то просмотреть и/или минимальные данные загрузить с полным логированием всех действий... Но это как бы задача-максимум, пока что мне нужно много чего освоить, прежде, чем это заработает хотя бы через сайт для начала хотелось бы сделать, чтобы с компа можно было бы зайти на мой сайт и просмотреть какую-то информацию (актуальную). А в принципе если очень нужно, то можно сделать и проходной сервер, настроить нужные репликации и вперёд, SQL Server очень мощная СУБД, лучше может быть только ORACLE, да и то не во всём

наймите java программиста
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816586
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKES,

может конечно уже про это тут писали(всё не читал), но что бросается в глаза:

1. Почему не используете Class.forName ?
2. УРЛ String connectionUrl = "jdbc:sqlserver://abon;databaseName=abon;integratedSecurity=true;"; - правильно написали? Может порт отличается?
3. stmt.executeQuery("SELECT top 10 * FROM [DogSch]"); Если хотите делать подстановку, то нужен preparedStatement
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816593
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtus1. Почему не используете Class.forName ?
Начиная со стандарта JDBC 4.0 этот хинт класслоадеру уже не нужен.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816601
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

ну да). Я просто не был уверен что в его случае это JDBC 4.0 или выше)
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816749
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusAngelOKES,

может конечно уже про это тут писали(всё не читал), но что бросается в глаза:

1. Почему не используете Class.forName ?
2. УРЛ String connectionUrl = "jdbc:sqlserver://abon;databaseName=abon;integratedSecurity=true;"; - правильно написали? Может порт отличается?
3. stmt.executeQuery("SELECT top 10 * FROM [DogSch]"); Если хотите делать подстановку, то нужен preparedStatement

1. Выше уже ответили
2. Строка коннекта правильно написана, была проблема в подключении библиотек и драйверов, теперь слава богу понимание принципа теперь есть
3. preparedStatement я обязательно изучу, в данном примере мне нужно было сделать самый просто запрос, что я собственно и сделал

авторнаймите java программиста
У нас нет больших гонораров, не Москва всё таки, приходиться самим разбираться и иногда тратить годы на разработки, но других вариантов нет
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816915
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кину вам куски кода из работающего проекта
POM.XML
Код: xml
1.
2.
3.
4.
5.
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>6.1.0.jre8</version>
        </dependency>



ServiceJDBC.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

@SuppressWarnings("CallToPrintStackTrace")
public class ServiceJDBC {
  static String className;
  static String strUrl;
  static String userName;
  static String passWord;

  static{
    try{     
        className = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
        strUrl = "СЕРВЕР";
        userName = "ЮЗЕР";
        passWord = "ПАРОЛЬ";
      Class.forName(className);
    }catch(ClassNotFoundException ex){
      ex.printStackTrace();
    }
  }
  
  public Connection getConnection() throws SQLException{
    return DriverManager.getConnection(strUrl, userName, passWord);
  }
  
  public void closeConnection(Connection cnn){
    if(cnn == null) return;
    try{
      cnn.close();
    } catch (SQLException ex){
      ex.printStackTrace();
    } 
  }   
}



ServiceAsset.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
  public class ServiceAsset extends ServiceJDBC{
    
	  public List<AssetModel> getAppendedList(){
		List<AssetModel> list = new ArrayList<AssetModel>();
		  Connection cnn = null;
		try{
		  cnn = getConnection();
		  PreparedStatement pst = cnn.prepareStatement("SELECT * FROM ...");

		  ResultSet rst = pst.executeQuery();
		 
		  while(rst.next()){
			AssetModel am = new AssetModel();
			am.setType(rst.getString("type"));
			am.setTitle(rst.getString("title"));
			am.setLink(rst.getString("link"));
			am.setSerial(rst.getString("serial"));
			
			list.add(am);
		  }
		} catch (SQLException ex){
		  ...
		} finally {
		  super.closeConnection(cnn);
		}
		return list;
	  }
  ...
  }



Ну и собственно применение
Код: java
1.
2.
        ServiceAsset sa = new ServiceAsset();
        List<AssetModel> listAssets = sa.getAppendedList();
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816916
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Годы на разработки? Это ... тот кто разработку заказывал может
уйти на пенсию так и не дождавшись первого релиза?

Слушай может вообще не стоит ничего делать? Я как-бы не ругаю. А просто говорю о смыслах.
Безнадёга какая-то...
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816917
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну понятно, что модель вы там делаете свою, со своими методами заполнения.
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816922
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AngelOKESОзверин,
Попробовал скачать последний драйвер: mssql-jdbc-7.2.2.jre8 (ну как я понял что последний)
Ошибка та же
Доводилось сталкиваться с такой хренью :)

1. В зависимости от разрядности системы возьмите нужный вам файл и удалите из имени _32 или _62
2. Разместите файл sqljdbc_auth.dll в каталог %WINDIR%\system32\ на сервере с приложением, а затем перезапустить приложение.

Не знаю как у вас, а нам помогло :)
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816924
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для 64
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816925
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... удалите из имени _32 или _6 4
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816928
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-2017#Connectingintegrated

Тут только внимательно, возможна засада с 64 бит и 32 бит версией Java.



Оказывается это уже советовали! Вы делали это? Помогло?
...
Рейтинг: 0 / 0
Как подключится к SQL Server и сделать простейший запрос?
    #39816988
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так стоп коллеги, проблема уже решена, всё работает и в NetBeans и в Eclipse, изучаю дальше...

То SQL2008 : Спасибо за рабочий пример, возьму на заметку

То mayton : Годы это вы конечно лишка написали, для начального запуска проекта ну полгода это максимум, а так в течении неопределённого времени может быть допиливание или дописывания, тут без этого никак.

Скажу даже так, взялся за этот проект не потому что меня гонят или требуют что-то новенькое, нет, у нас тут к сожалению новаторов особо нет и не предвидится, это уже скорее моя инициатива сделать что-то новое и интересное, а уж сколько времени на это уйдёт не играет никакой роли, программы написаны и работают, но не хотелось бы останавливаться и сидеть без дела, мозги ещё усухнут, а тут сразу столько информации, аж жить хочется ))), надеюсь вы меня поняли

P.S. Даже поднимать свою значимость для меня не цель, главная цель это не сидеть сложа руки и хотя бы стараться идти в ногу со временем и творить новые проекты
...
Рейтинг: 0 / 0
90 сообщений из 90, показаны все 4 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключится к SQL Server и сделать простейший запрос?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]