Группа «Базы данных»¶
ИНСТРУКЦИЯ ПО ПОДКЛЮЧЕНИЮ к 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 удалена из БД.