Central_IT Ответов: 1

Выполните пакет SSIS из VB.NET


Привет,

Впервые я пытаюсь выполнить пакет SSIS из VB.Net (VS2013). Мой SQL сервер 2014. Глядя на пример кода, он выглядит прямолинейно, но я продолжаю получать ошибки.

Ошибка, которую я получаю, такова
e Execute method on the task returned error code 0x80131621 (сборка смешанного режима построена против версии' v2.0.50727 ' среды выполнения и не может быть загружена в среду выполнения 4.0 без дополнительной информации о конфигурации.). Метод Execute должен завершиться успешно и указать результат с помощью параметра "out". "

Это меня озадачило.

Что я уже пробовал:

Мой код таков....

Частная суб cmdRun_Click(отправителя как объект, а равно EventArgs) обрабатывает cmdTest2.Нажмите

Dim pkgLocation как строка
Dim pkg как новый пакет
Дим приложение в качестве нового приложения
Дим pkgResults как DTSExecResult
Дим local_DtsError как Microsoft.От SQLServer.ДЦ.Во время выполнения.DtsError = Ничего

Dim sLocationAndDtsx As String = "C:\SSIS_Testing\Package.dtsx"

pkgLocation = sLocationAndDtsx

pkg = app. LoadPackage(pkgLocation, Nothing)
pkgResults = УП.Выполнять()

Дим sError как строку = корпорация Майкрософт.От SQLServer.ДЦ.Во время выполнения.DTSExecResult.Неудача

'MsgBox(pkgResults.Метод toString())

Дим результаты как Microsoft.От SQLServer.ДЦ.Во время выполнения.DTSExecResult = pkg.Выполнять()
'//Проверьте результаты на провал и успех
Если результаты = Майкрософт.От SQLServer.ДЦ.Во время выполнения.DTSExecResult.Тогда Неудача
Dim sErr как строка = ""

Для каждого local_DtsError в pkg.Ошибки
Dim aa As String = local_DtsError.Описание.Метод toString()
д = д + АА

MsgBox(sErr)

Следующий
Конец, Если

Конец Подводной Лодки

1 Ответов

Рейтинг:
10

Richard Deeming

Вам необходимо изменить конфигурацию вашего приложения:


useLegacyV2RuntimeActivationPolicy Атрибут:

истинный
Включите политику активации среды выполнения .NET Framework 2.0 для выбранной среды выполнения, которая заключается в привязке устаревших методов активации среды выполнения (таких как функция CorBindToRuntimeEx) к среде выполнения, выбранной из файла конфигурации, вместо того чтобы ограничивать их в среде CLR версии 2.0. Таким образом, если в конфигурационном файле выбрана среда CLR версии 4 или более поздней, то сборки смешанного режима, созданные с более ранними версиями .NET Framework, загружаются с выбранной версией среды CLR. Установка этого значения предотвращает загрузку CLR версии 1.1 или CLR версии 2.0 в один и тот же процесс, эффективно отключая функцию side-by-side в процессе.
ложный
Используйте политику активации по умолчанию для .NET Framework 4 и более поздних версий, которая позволяет устаревшим методам активации среды выполнения загружать в процесс среду CLR версии 1.1 или 2.0. Значение этого параметра предотвращает сборки смешанного режима, с погрузкой в .Framework 4 или более поздней версии, если они были построены .Framework 4 или более поздней версии. Это значение используется по умолчанию.


Измените свой app.config файл для установки useLegacyV2RuntimeActivationPolicy к true:
<startup useLegacyV2RuntimeActivationPolicy="true">
    ...
</startup>