ОШИБКА [HYT00] [Microsoft][Драйвер ODBC 17 для SQL Server]Тайм-аут запроса истекC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 ОШИБКА [HYT00] [Microsoft][Драйвер ODBC 17 для SQL Server]Тайм-аут запроса истек

Сообщение Anonymous »

У меня есть несколько ботов, созданных с помощью Uipath. Эти боты выполняют операции массового обновления (я использую это действие) в следующей таблице:
[img]https://i.sstatic .net/xVVWsEXi.png[/img]

База данных расположена на SQL-сервере, и мои боты запускаются с некоторых виртуальных машин Azure. Оба расположены в одном регионе. Более того, эта таблица не имеет первичного ключа и индексов, а всего в ней 428,760 записей.
Целью массового обновления является поиск столбца «id», а затем его обновление. столбец "document_hash".
Это текущая строка подключения, которую я использую для выполнения массового обновления:

Код: Выделить всё

Driver={ODBC Driver 17 for SQL Server};Server=[myServer];Database=[myDatabase];Uid=[myUsername];Pwd=[myPassword];Encrypt=yes;TrustServerCertificate=no;Connection Timeout=300;
Когда боты работают параллельно, иногда я получаю следующую ошибку, кроме того, обновление 270 записей занимает больше часа:

ОШИБКА [HYT00] [Microsoft][ODBC Driver 17 для SQL Server]Тайм-аут запроса истек

Как решить эту проблему?.
Я читал, что могу реализовать индекс в столбце «id», но также я читал, что это помогает при запросе данных, но не при обновлении данных.
ОБНОВЛЕНИЕ 1:
Чтобы предоставить дополнительную информацию о деятельности Uipath. Я использую действие «Массовое обновление». У этого действия есть свойство Массовое/пакетное обновление, и в [документации][1] сказано:

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

По умолчанию этот флажок установлен. Я решил отключить это свойство, чтобы разрешить пакетное обновление. Я все еще получаю долгое время обновления с этим изменением. Когда я запускаю только одного бота, обновление происходит быстрее, когда я запускаю больше ботов параллельно, кажется, что возникает проблема с блокировкой, как упоминалось в комментариях @jdweng и @AlwaysLearning. Есть ли какая-либо конфигурация или решение, которое я могу реализовать, добавив кластеризованные индексы в столбец «id»?.
[1]: https://docs.uipath.com/activities/othe ... oper/bulk- обновить

Подробнее здесь: https://stackoverflow.com/questions/789 ... ut-expired
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»