Пакет служб SSIS не будет выполняться при вызове - PullRequest
1 голос
/ 09 октября 2009

У меня есть пакет служб SSIS 2005, который я вызываю в службе, созданной в VS 2005. Пакет не будет запущен. Назначение пакета - проанализировать файл и поместить данные в «таблицу загрузки».

Пакет прекрасно работает сам по себе, но не запускается вообще, когда выполняется программно - когда я перебираю код. Средство просмотра событий указывает, что пакет запущен, но затем он указывает, что произошел сбой. Я не получаю больше информации, чем это.

Это не исключение. Это просто возвращает «Отказ». Я пытался выполнить для разных баз данных - тот же результат. Файл, который он анализирует, действителен, потому что он работает нормально, когда запускается сам по себе.

Единственное, о чем я могу подумать, это то, что у меня возникли некоторые проблемы с разрешениями пользователей, но я понятия не имею, что делать с этим вопросом. У кого-нибудь есть идеи?

Ответы [ 5 ]

5 голосов
/ 09 октября 2009

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

3 голосов
/ 09 октября 2009

Без дополнительной информации трудно сказать, но это звучит как проблема с разрешениями.

Когда он запускается из кода, имеет ли пользователь или учетную запись пользователя, под которым выполняется код, соответствующие разрешения?

Например, если вы запускаете его вручную, вы, скорее всего, используете свои собственные учетные данные. Как разработчик, я бы предположил, что у вас есть права администратора, поэтому вы можете выполнить задачу.

Однако при запуске из программы вам необходимо знать, под какой учетной записью запускается программа. Это Asp.Net? Пользователь по умолчанию - Сетевая служба. Это запланированная задача, выполняемая под учетной записью локальной системы по умолчанию? Вам необходимо изменить учетную запись, под которой он работает, или предоставить разрешения для БД соответствующим образом.

2 голосов
/ 09 октября 2009

Когда вы загрузили его из Studio в Integration Services, какой уровень защиты пакетов вы использовали? Мне больше всего повезло с последним в списке: положитесь на серверное хранилище и роли для контроля доступа.

1 голос
/ 09 октября 2009

В вашем пакете настроено ведение журнала ошибок? Это может помочь вам понять, в чем проблема.

Кроме того, имеет ли учетная запись для службы, выполняющей пакет, правильные права на каталог, в котором хранится файл, который нужно забрать, а не только правильные права в SQL Server? У нас была эта проблема раньше.

0 голосов
/ 10 октября 2009

Прикрепили ли вы События к выполнению пакета? Вы называете посылку кодом? Какой метод вы используете?

Пожалуйста, отметьте Загрузка и запуск удаленного пакета ...

Затем при отладке добавьте точку останова в строке Console.Write, где получает информацию об ошибке.

Надеюсь, это поможет,

Артуро

...