Ответ Kite является правильным, однако я хотел поделиться своими наблюдениями / опытом после нахождения этого Вопроса и Ответа при поиске исправления к тому же самому сообщению об ошибке в рамках проекта SQL Server Integrated Services (SSIS).
Ранее сегодня один из моих пакетов служб SSIS начал получать эту ошибку на одном из своих шагов.После небольшого исследования я обнаружил, что мой пакет не работает на объекте DataReader Source
, который подключается к базе данных iSeries через ODBC.Я не уверен, является ли это ошибкой ODBC или ошибкой в драйверах iSeries / ODBC DB, но сообщение об ошибке было точно таким же.
Для меня действительно странным было то, что я мог просматриватьданные из связанной таблицы в MS Access, которая подключается через то же соединение ODBC, и я также мог без проблем выполнить операцию MAKE TABLE
из того же набора данных в Access.После поиска сообщения об ошибке я нашел эти вопросы и ответы. Этот совет также работает и для пакетов служб SSIS.
Чтобы исправить это в службах SSIS, необходимо открыть пакет в конструкторе Microsoft BIDS.Затем откройте связанный Data Flow Task
и выберите объект DataReader Source
, для которого истекло время ожидания.
Ваш DataReader Source
объект имеет свойство, которое также называется CommandTimeout
.Установка 0
(вместо значения по умолчанию 30
) должна решить проблему.Убедившись в том, что тайм-аут был причиной проблемы, я установил тайм-аут на 60
и повторно выполнил шаг.Таймаут в одну минуту решил проблему.
Стоит отметить, что может быть соблазнительно обновить ваши CommandTimeout
значения для всех ваших DataReader Source
объектов до 0
.Это не рекомендуетсяВместо этого сохраните таймауты и увеличьте лимит до довольно щедрого значения.Удвойте их, как я, или дайте еще более щедрое значение времени ожидания 5-10 минут.
Свойства тайм-аута существуют по причине.Вы можете назначить своему приложению большие тайм-ауты, но если оно вообще не истечет, ваше приложение может зависнуть из-за вероятности того, что внутри ядра СУБД возникнет проблема, из-за которой шаг никогда не завершится!Это может быть маловероятно, но не невозможно.
Будьте осторожны и соответствующим образом настройте время ожидания.