powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключится к SQL Server и сделать простейший запрос?
15 сообщений из 90, страница 4 из 4
Как подключится к 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
15 сообщений из 90, страница 4 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Как подключится к SQL Server и сделать простейший запрос?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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