Пакет служб SSIS не запущен с сервера - PullRequest
3 голосов
/ 10 июня 2019

У меня есть пакет служб SSIS, который выполняет следующие действия:

  1. Определяет, существует ли файл (Excel существует)
  2. Удаляет файл
  3. Копирует файл из каталога втребуемый

Этот пакет при локальном запуске для правильного тестирования функций не вызывает проблем.

При запуске на сервере или в качестве задания я получаю ошибку

Исключение было сгенерировано целью вызова.

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

Моя версия Visual Studio - 2013 (невозможно обновить), и на компьютере с SQL-сервером установлена ​​последняя версия 2016 года.

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

Imports System.IO (etc)

Public Sub Main()
        Dim sourcePath As String = "\\server\File\Template.xlsx"
        Dim destPath As String = "\\server\File\NewFile.xlsx"


        If File.Exists(destPath) = True Then
            File.Delete(destPath)       'deletes current file
        End If
        File.Copy(sourcePath, destPath)
        Dts.TaskResult = ScriptResults.Success
End Sub

Я бы не ожидал, что при этом возникнут какие-либо проблемы, так как другие пакеты (различные функции и т. д.) работают так, как должны.

Ответы [ 2 ]

2 голосов
/ 10 июня 2019

Исключение было сгенерировано целью вызова.

Это стандартное сообщение задачи скрипта. Довольно стандартное предложение: рассмотрите возможность захвата реального текста исключения для лучшего анализа проблемы с помощью FireError:

Imports System.IO (etc)

Public Sub Main()
Try

    Dim sourcePath As String = "\\server\File\Template.xlsx"
    Dim destPath As String = "\\server\File\NewFile.xlsx"

    If File.Exists(destPath) = True Then
    File.Delete(destPath)       'deletes current file
    End If
    File.Copy(sourcePath, destPath)


Catch ex As Exception
   Dts.Events.FireError(0, "Script Task Example", ex.Message, String.Empty, 0);  
End Try

    Dts.TaskResult = ScriptResults.Success

End Sub

Существует множество причин сбоя такого кода, одна из которых связана с обновлением пакета на месте, которое неправильно обновило задачу сценария до VSTA 2015.

0 голосов
/ 20 июня 2019

Ошибка существует из-за различий в версиях между записью пакета служб SSIS в Visual Studio 2013 и SQL Server 2016.

Ошибки обновления можно найти в части сообщения об ошибке.

...