Ответ 1
VS_NEEDSNEWMETADATA появляется при изменении базовых данных по одной из задач. Наиболее быстрым решением, вероятно, будет просто удаление и повторное создание каждого элемента, который выдает ошибку.
При попытке запустить мой пакет появляется следующая ошибка. Я новичок в ssis. Какие-либо предложения. Tahnks
===================================
Ошибка проверки пакета (ошибка проверки пакета)
===================================
Ошибка в задаче потока данных [SSIS.Pipeline]: "OLE DB Source" не удалось проверить и вернул статус проверки "VS_NEEDSNEWMETADATA".
Ошибка в задаче потока данных [SSIS.Pipeline]: одна или несколько неудачных проверок компонентов.
Ошибка при выполнении потока данных. При проверке задачи были ошибки.
(Microsoft.DataTransformationServices.VsIntegration)
Расположение программы:
в Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.ValidateAndRunDebugger(флаги Int32, параметры вывода IOutputWindowWindow, DataTransformationsProjectConfigurationOptions) в Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, ProjectItem startupProjItem, DataTransformationsProjectConfigurationOptions) в Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchActivePackage(Int32 launchOptions) в Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(параметры Int32 launchOptions, DataTransformationsProjectConfigurationOptions) в Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.Launch(параметры запуска Int32, параметры DataTransformationsProjectConfigurationOptions)
VS_NEEDSNEWMETADATA появляется при изменении базовых данных по одной из задач. Наиболее быстрым решением, вероятно, будет просто удаление и повторное создание каждого элемента, который выдает ошибку.
Как насчет отключения проверок?
Например, если вы щелкнете правой кнопкой мыши по компоненту источника или назначения и выберете свойства, вам будет присвоено свойство validateExternalMetadata со значением false и попыткой.
Это решение работает на меня.
Убедитесь, что ваше соединение действительно. Если вы используете динамические подключения, попробуйте установить опцию "validation delay" = true в пакете или потоке данных.
Это обычно происходит, если произошла смена вашей схемы, а не стресс, просто дважды щелкните на своем вводе и выводе, и он должен сам решить
В моем случае структура таблицы назначения не совпадала с матадатами в компоненте OLEDB. Я добавил отсутствующий столбец, который я забыл добавить, и после этого он был исправлен.
После небольшого исследования (проверьте, чтобы извлечь свои собственные выводы: это и это), я думаю, что я нашел хороший обходной путь для решения проблемы с метаданные поступают из объекта Ole DB
, но только для очень конкретного случая.
Дело в том, что когда вы меняете имена столбцов/удаляете столбцы/добавляете столбцы, вы ничего не можете сделать, кроме как обновить метаданные.
Однако если вы используете SQL query
для извлечения данных из объекта, в случае, если вам не нужно обновлять сам запрос, вам не нужно будет обновлять метаданные, если запрос все еще может запрашивать за что хочет. В основном, если запрос все еще действителен.
Я попробовал его в своем собственном ETL и изменил объект Ole DB
, который считывал данные из файла Excel
, нацеливаясь на один sheet
, а затем на вкладке были выбраны все столбцы.
Измените его на SQL query
, чтобы получить полный лист, например:
SELECT * FROM ['Sheet_Name$']
Решил полностью для меня дело, даже введя файлы с разными метаданными в заголовках.