Группа «Базы данных»

Инструкция по подключению к Microsoft SQL Server из студии Robin

Изменение серверной проверки подлинности

В Microsoft SQL Server нужно поменять серверную проверку подлинности с «Проверка подлинности Windows» на «Проверка подлинности SQL Server и Windows», чтобы при соединении с MsSQLServer подключение происходило по логину и паролю.

Для этого подключаемся на сервер по «Проверка подлинности Windows».

В обозревателе объектов среды SQL Server Management Studio щелкаем правой кнопкой мыши сервер и выбираем пункт Свойства.

На странице Безопасность, в разделе Серверная проверка подлинности выбираем режим проверки подлинности сервера Проверка подлинности SQL Server и Windows, а затем нажимаем кнопку ОК.

В диалоговом окне среды SQL Server Management Studio нажимаем кнопку ОК , чтобы подтвердить необходимость перезапуска SQL Server.

В обозревателе объектов щелкаем правой кнопкой мыши и выбираем пункт Перезапустить.

Далее устанавливаем логин и пароль.

В обозревателе объектов разворачиваем узел Безопасность, разворачиваем Имена для входа, щелкаем правой кнопкой мыши имя входа sa и выбираем Свойства.

На вкладке Общие создаем и подтверждаем пароль для имени входа sa.

На странице Состояние в разделе Имя для входа щелкаем Включено и нажимаем кнопку ОК.

Перезаходим в SQL Server Management Studio и подключаемся к серверу по логину sa и по установленному паролю.

Отсутствие блокировки TCP-подключения к порту

Убеждаемся, что брандмауэр не блокирует TCP-подключения к порту.

Для этого переходим в панель управления – Система и безопасность.

Нажимаем Брандмауэр Защитника Windows.

Нажимаем Включение и отключение брандмауэра Защитника Windows.

И отключаем.

Включение TCP-подключения и указание порта подключения

Для этого переходим в SQL Server Configuration Manager.

Он устанавливается вместе с SQL Server Management Studio и расположен по пути:

C:WindowsSysWOW64SQLServerManager15.msc

при установке программы на диск C.

Нажимаем Сетевая конфигурация SQL Server – Протоколы для SQLEXPRESS

Находим TCP/IP и меняем его состояние на «Включено».

Нажимаем на TCP/IP правой кнопкой мыши, выбираем Свойства.

Переключаемся на вкладку IP-адреса и опускаемся в самый низ.

В поле TCP-порт вписываем стандартный порт 1433.

Нажимаем ОК.

Далее находим в Службы SQL Server службу с именем SQL Server (SQLEXPRESS) и перезапускаем её.

Определение значения для параметров действий в студии

Заходим в SQL Server Management Studio.

В обозревателе объектов среды SQL Server Management Studio щелкаем правой кнопкой мыши сервер и выбираем пункт Свойства.

Нажимаем просмотреть свойства соединения.

Отсюда копируем полное Имя сервера.

Нажимаем «Закрыть».

Разворачиваем Базы данных.

Находим базу данных, с которой будем работать или создаем её.

Настройка действия «Стандартное подключение».

Выбираем тип СУБД – MsSqlServer.

Логин – sa.

Пароль – пароль, установленный на шаге 1.

Хост сервера – имя сервера с шага 4.

Порт сервера – порт, указанный на шаге 3 (по умолчанию 1433).

Имя БД – имя базы данных с шага 4.

Тайм-аут – значение ожидания подключения в секундах.

Настройка действия «Пользовательское подключение»

Логин – sa.

Пароль – пароль, установленный на шаге 1.

URL сервера – jdbc:sqlserver://ИмяСервера:Порт; databaseName=ИмяБД;integratedSecurity=false.

(Пример: jdbc:sqlserver://DESKTOP-RR6B2VPSQLEXPRESS:1433;databaseName=RobinRobot;integratedSecurity=false;).

Класс драйвера - com.microsoft.sqlserver.jdbc.SQLServerDriver.

Путь к классу драйвера – путь до драйвера.

(Пример: C:UsersGAMDIASDownloadsmssql-jdbc-9.4.0.jre8.jar).

Тайм-аут – значение ожидания подключения в секундах.

Как скачать драйвер

Переходим по ссылке https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc/9.4.0.jre8

В разделе Files нажимаем jar.

Файл будет загружен на машину.

Проверка подключения к БД на тестовом запросе

Выполняем любой тестовый запрос к БД, где в качестве контекста указываем либо пользовательское, либо стандартное подключение.

Действия

Выполнить запрос / Execute Query

Задача: сделать запрос к базе данных и сохранить результат в таблицу CSV. Запросить имя разработчика с ID=1.

Решение: воспользоваться действиями «Стандартное подключение», «Выполнить запрос», «Сохранить таблицу в CSV».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Стандартное подключение».

  • Настроить параметры для действия «Выполнить запрос». В поле «Контекст БД» указать контекст подключения к базе данных.

В поле «Шаблон запроса» указать SQL выражение (запрашиваем имя разработчика с ID=1). Оно может содержать знаки вопросов, как в данном случае. И тогда должно быть заполнено поле «Список параметров».

Эти параметры будут подставлены вместо знаков вопросов.

  • Настроить параметры для действия «Сохранить таблицу в CSV».

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Данные из базы получены и записаны в таблицу CSV.

Дополнительно

Для чекбокса «Убрать дубли»:

Есть таблица:

При «Убрать дубли заголовка» = true, и «С заголовком» = True, действие «Взять таблицу» вернет таблицу из 4х строк и 5 столбцов. Названия столбцов этой таблицы будут: «Тест31», «Тест21», «Тест22», «Тест32», «Тест1».

При значении «false», названия столбцов останутся прежними. Действия на net, которые возвращаютобрабатывают такие таблицы с задублированными названиями столбцов, будут падать с ошибкой, т.к. в net не может быть заголовка с одинаковыми названиями столбцов.

Например, в исходной таблице есть столбцы «Тест1», «Тест» и «Тест». Если добавлять индексы только к текущим дублям, то названия станут такими «Тест1», «Тест1» и «Тест2», т.е. в итоге появятся новые дубли с названием «Тест1». Поэтому действие при переименовании конкретного столбца должно проверять, нет ли уже такого названия у другого столбца и при наличии таких совпадений проставлять у текущего столбца следующий по счету индекс. Т.е. в данном случае действие переименует столбцы как «Тест1», «Тест2» и «Тест3».

Вызвать хранимую процедуру / Call stored procedure

Особые условия использования

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

Так что если у вас есть SQL-запрос, который вы пишете снова и снова, сохраните его как хранимую процедуру, а затем просто вызвать его, чтобы выполнить его.

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

Создание хранимой процедуры:

Выполнение хранимой процедуры:

Подробнее о хранимых процедурах https://html5css.ru/sql/sql_stored_procedures.php

Задача: подключиться к базе и получить всю таблицу Customers с помощью созданной ранее хранимой процедуры

Решение: воспользоваться действиями «Стандартное подключение», «Вызвать хранимую процедуру».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Вызвать хранимую процедуру».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Возвращена коллекция, которая содержит результирующую таблицу.

Добавить запись / INSERT

Задача: подключиться к базе данных и добавить данные в таблицу (столбцы company_name и inn) . Данные: ООО «Ромашка», 5047053423

Решение: воспользоваться действиями «Стандартное подключение», «Добавить запись».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Добавить запись».

В поле «Данные для вставки» указать данные в виде словаря.

В поле «Список имен полей первичного ключа» заполнить следующим образом:

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Новая запись добавлена в таблицу.

Закрыть подключение / Close connection

Задача: подключиться к базе данных MsSqlServer и выполнить запрос и закрыть подключение.

SELECT * FROM Table1 ORDER BY id ASC;

Решение: воспользоваться действиями «Стандартное подключение», «Выполнить запрос», «Закрыть подключение».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Выполнить запрос».

  • Настроить параметры для действие «Закрыть подключение».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Запрос к базе выполнен. Подключение закрыто.

Закрыть транзакцию / Commit transaction

Задача: подключиться к базе данных, выполнить запросы (которые являются единой транзакцией), далее закрыть транзакцию.

Решение: воспользоваться действиями «Стандартное подключение», «Выполнить запрос», «Закрыть транзакцию».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить действие «Выполнить запрос».

  • Настроить последующее действие «Выполнить запрос» (выполнить другой запрос к базе).

  • Настроить действие «Закрыть транзакцию».

  • Настроить последующее действие «Выполнить запрос» (выполнить другой запрос к базе).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Первая транзакция завершена. Подтверждены изменения в рамках первой транзакции, сохранены в базе.

Последующие запросы, которые идут после действия «Закрыть транзакцию» являются запросами второй транзакции.

Извлечь запись / SELECT

Задача: подключиться к базе данных и извлечь данные по одной строке таблицы по столбцам company_name и inn (id=9).

Решение: воспользоваться действиями «Стандартное подключение», «Извлечь запись».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Заполнить параметры для действия «Извлечь запись».

В поле «Поля таблицы» указать поля по которым необходимо получить данные

В поле «Значение первичного ключа» указать строку 9

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Данные из строки 9 по столбацам company_name и inn извлечены.

Обновить запись / UPDATE

Задача: подключиться к базе данных и обновить данные по одной строке таблицы по столбцам company_name и inn (id=9). Обновить на данные: ООО «Ромашка», 5013047634

Решение: воспользоваться действиями «Стандартное подключение», «Обновить запись».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Обновить запись».

В поле «Данные для обновления записи» указать новые данные в виде словаря.

В поле «Первичный ключ» указать значение первичного ключа в виде словаря.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Данные в базе обновлены.

Откатить транзакцию / Transaction roll back

Задача: подключиться к базе данных, выполнить запросы (которые являются единой транзакцией), если на этапе данных запросов произошла ошибка, то откатить транзакцию, если нет, то перейти к выполнению следующего запроса в рамках второй транзакции.

Решение: воспользоваться действиями «Стандартное подключение», «Выполнить запрос», «Откатить транзакцию», «Try-Cath».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Перенести на рабочую действие «Try-Cath» и поместить в блок Try 2 действия «Выполнить запрос», в блок Cath действие «Откатить транзакцию».

  • Настроить параметры для действия «Выполнить запрос».

  • Настроить последующее действие «Выполнить запрос» (выполнить другой запрос к базе).

  • Настроить параметры действия «Откатить транзакцию».

  • Настроить последующее действие «Выполнить запрос» (выполнить другой запрос к базе).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. В рамках первой транзакции ошибок при выполнении запросов к базе данных не возникло.

Пользовательское подключение / Custom connection

Задача: подключиться к базе данных и выполнить запрос

SELECT * FROM Table1 ORDER BY id ASC;

Решение: воспользоваться действиями «Пользовательское подключение», «Выполнить запрос».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Настроить параметры для действия «Пользовательское подключение».

Уровень изоляции транзакций - уровень разрешения чтения данных для субъекта, который подключается к БД (пользователь или система). Возможны несколько уровней изоляции транзакций:

Чтение незаконченных транзакций разрешено - будет разрешено читать данные, которые модифицируются какой-либо другой транзакцией.

Чтение только законченных транзакций - роботу можно будет читать только зафиксированные записи.

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

Сериализуемость - роботу можно будет читать только зафиксированные записи. Данные, которые робот читает в данный момент, другой субъект не сможет изменить и/или прочитать, пока не закончится транзакция робота.

Указать логин и пароль от БД. В поле «URL сервера, где размещена БД» указать URL подключения к требуемой БД. Все дополнительные параметры необходимо указывать в URL сервера. При использовании пользовательского подключения обязательно должен быть скачан драйвер для БД. Файл драйвера должен находится на той же машине, где работает программный робот. С помощью этого драйвера робот будет подключаться к базе. В поле «Класс драйвера для указанной базы данных» необходимо указать имя класса драйвера. Узнать его можно в интернете, т.е посмотреть название драйвера под используемую БД. Соответственно, для каждого вида СУБД название класса драйвера будет свое. В поле «Путь к классу драйвера для указанной базы данных» указать путь до файла драйвера, с помощью которого будет происходить подключение. Например:

Значение в поле «Таймаут» измеряется в секундах.

  • Настроить параметры для действия «Выполнить запрос».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Запрос выполнен.

Стандартное подключение / Standard connection

Задача: подключиться к базе данных MsSqlServer и выполнить запрос

SELECT * FROM Table1 ORDER BY id ASC;

Решение: воспользоваться действиями «Стандартное подключение», «Выполнить запрос».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Выполнить запрос».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Запрос выполнен.

Удалить запись / DELETE

Задача: подключиться к базе данных и удалить запись в таблице с id=6 .

Решение: воспользоваться действиями «Стандартное подключение», «Удалить запись».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Стандартное подключение».

В поле «Тип СУБД» выбрать соответствующий той базе данных, к которой необходимо подключиться. Указать логин и пароль от базы данных. Хост сервера можно указать, как по IP машины, где установлена база или по имени хоста. Указать порт сервера, а также имя БД. В поле «Таймаут» значение исчисляется в секундах. В поле «Параметры» указываются дополнительные параметры для подключения, как правило, это параметры, которые относятся к безопасности. Параметры указываются в виде словаря.

Подробнее о параметре «Уровень изоляции транзакций». Последовательные операции по работе с БД можно разделить на транзакции. Транзакция - это группа операций, которые представляют некую логическую единицу работы с базой. Например, необходимо выполнить несколько операций с таблицей для того, чтобы обновить в ней данные. При возникновении ошибки можно откатить транзакцию, т.е сделанную группу операций, чтобы не разбираться на каком шаге возникла данная ошибка.

При активации чекбокса «»Уровень изоляции транзакций» часть выполняемых запросов к базе будет идти в виде транзакций.

  • Настроить параметры для действия «Удалить запись».

В поле «Первичный ключ» указать ключ строки, которую необходимо удалить.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Запись с id=6 удалена из БД.