Выполнение FTP через SSIS 2008 Метод DTEXEC - Ошибка получения "Код выхода из процесса был 1, а ожидаемый был 0
Я видел другие посты на эту тему, где некоторые предложения заставляют людей проверять уровень защиты до DontSaveSensitive. Я удостоверился, что для него задано DontSaveSenistive, а также проверил разрешения и убедился, откуда файлы /dtsx-файлы вызываются, и у меня установлены достаточные разрешения для учетной записи службы, которой принадлежит агент SQL.
Странно то, что этот процесс работал нормально, пока я не вошел в один из предыдущих файлов dtsx и не должен был обновить точность типа данных, чтобы перейти от ограничения в 1 символ до 30 символов. Это было буквально единственное изменение, внесенное в процесс, но теперь я получаю эту ошибку. Я получил эту ошибку раньше, когда я был на пути к проверке уровня защиты и разрешений / владения. По какой-то причине он ушел и начал работать, когда я внес эти изменения. Ничего из этого (разрешения / владение) на этот раз неверно, но я получаю ту же ошибку.
Еще одна странная вещь в этом процессе заключается в том, что это только последний шаг, который дает сбой (шаг FTP). Когда я пытаюсь войти и выполнить psftp.exe и ввести команду, которая обычно передается через задачу процесса выполнения служб SSIS шаг, psftp.exe говорит мне, что номер порта неправильный.. однако, когда я тестирую соединение в диспетчере соединений внутри VS с точно таким же портом, оно говорит, что соединение установлено успешно.
Эта ошибка неясна и запутана!
Я хотел бы получить некоторые советы о том, что еще можно попробовать.
благодарю вас!
1 ответ
Инструменты и версия служб SSIS
SQL Server 2008 и 2008 R2 можно редактировать только с помощью Visual Studio 2008, на которой установлены шаблоны Business Intelligence Design Studio. Они могут быть получены только при наличии физического SQL Server iso под рукой. Редакция для разработчиков будет работать, но вам нужна какая-то форма лицензированного носителя, чтобы заставить работать BIDS.
Visual Studio 2013 будет пытаться обновить 2008/R2 до внутренних компонентов для установки SQL Server 2012. Нет пути назад / вниз, как только это будет сделано.
Любые инструменты (dtexec, dtutil и т. Д.), Которые вы используете, должны быть из той же версии, в противном случае двоичные файлы в первую очередь обновляют пакет, чтобы он соответствовал этой версии. Для выполнения (dtexec) каждый раз, когда вы запускаете пакет, возникает задержка, поскольку оригинал обновляется в памяти для соответствия, а затем начинается выполнение (при условии, что все идет хорошо). Похоже, это не основано на
Не удалось загрузить пакет из-за ошибки 0xC0010014...
За развертывание (dtutil) вы платите только один раз за обновление, а затем оно обновляется навсегда. Что, вероятно, не то, что вы хотели. Помните, что такие инструменты, как Visual Studio и SSMS, "знают", с какой версией инструмента они связаны, поэтому развертывание из SSMS 2016 может привести к тому, что двоичные файлы для SSIS SQL Server 2016 обновят ваш пакет 2008 до формата 2016, а затем попытаются развернуть обновленную версию. биты к вашей коробке 2008 года. Это все очень расстраивает и не интуитивно понятно.
Из вашего комментария "В версии 2008 кнопка воспроизведения неактивна..." Это означает, что вы открыли файл в Visual Studio, представляющий собой пакет служб SSIS. Visual Studio откроет его и раскроет все значки, но на самом деле не сможет запустить пакет, если у вас не открыт проект служб Integration Services (и не установлены шаблоны BI).
Предполагая, что у вас есть контроль версий, вы можете откатить изменения, которые все сломали, и попытаться правильно отредактировать пакет.
Выполнить задачу процесса
У вас есть задача "Выполнить процесс", которая вызывает psftp.exe и генерирует 1 против 0. Это плохо? Исходя из предыдущей работы с SFTP-клиентами, они довольно придирчивы, поэтому запускать его, так как я на работе, не получится, поскольку у меня не было битов, связанных с моей учетной записью домена, но учетная запись службы содержала все нужные данные в своем профиле, и это запустить просто отлично - та же машина, тот же пакет, просто другой пользователь.