Подтвердить что ты не робот

Конструктор выражений диспетчера соединений, не отображающий переменные

У меня такая точная та же проблема Я смотрел вслух, но это единственное место, где я видел ту же проблему и он не разрешен.

Кто-нибудь знает, в чем проблема?

Я проверил в Visual Studio, и моя версия SSIS - 11.0.2100.60 (не пробная версия, а не бета-версия).

EDIT: Это шаги, которые я предпринимаю, и проблема

Сначала я выбираю диспетчер подключений, щелкаю правой кнопкой мыши, выбираю свойства и выбираю вариант "Выражения" step one

Затем в Property Expression Builder выберите свойство Connection String и нажмите кнопку Expression enter image description here

Наконец, в диалоговом окне Expression Builder нет опции для переменных, на каждой прочитанной странице говорится, что там должны быть переменные node enter image description here

Я что-то пропустил?

4b9b3361

Ответ 1

В SSIS 2012 введена концепция менеджеров соединений уровня проекта. Что я вижу на ссылочной странице на форумах MSDN, пользователь создал диспетчер соединений с плоскими файлами уровня проекта и не может настроить его с помощью локальной переменной. Предполагая, что это проблема, мой ответ следует.

Проект SSIS, как правило, более одного пакета. Чтобы упростить жизнь, команда SSIS теперь позволяет распределять общие ресурсы по проектам, а менеджерами соединений являются один из этих ресурсов.

Логически, если предмет разделяется по проекту, как может существовать только тот, который существует только в одном файле, этот ресурс? Это изменение конфигурации будет работать только при выполнении Package1. Когда Package2 срабатывает, если к общему ресурсу не применяется одна и та же переменная и одно и то же выражение, вы получите разные результаты. Это будет кошмар для обслуживания, который вы, возможно, уже испытали, если у вас нет сильных методов настройки.

Если я создаю диспетчер соединений с плоским файлом на уровне проекта, я могу ссылаться только на переменные, которые также находятся на уровне проекта. Кроме того, на уровне проекта нет переменных. Вместо этого они называются Параметры.

С этой целью я создал параметр SomeProjectParameter

project parameter

Затем я создал пакет Package1.dtsx и добавил 2 менеджера соединений с плоскими файлами: FlatFileConnectionManagerLocal и FlatFileConnectionManagerProject

Вместо этого пакета я также создал переменную SomeLocalVariable.

Этот снимок экрана показывает мне применение выражения к свойству ConnectionString для FlatFileConnectionManagerLocal. Там вы можете видеть, что доступны как переменная пакета, SomeLocalVariable, так и SomeProjectParameter

expression builder on local CM with parameter and local variable

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

project CM and only parameters available

Интересно отметить, что вы не можете применить выражение к диспетчеру соединений на уровне проекта вне контекста пакета SSIS. Для вас нет никакого редактора, пока у вас не будет открытого пакета SSIS. Но после применения все пакеты в проекте будут настроены аналогично.

Предположим, что выкрик IDE. Кроме того, не беспокойтесь из-за отсутствия цвета на этих снимках экрана, я запускаю версию SSDT версии 2012 года.

Ответ 2

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

Исходный файл с плоским файлом

Щелкните правой кнопкой мыши на источнике и выберите преобразовать в пакетное соединение

Преобразовать в пакетное соединение

Возможно, это поможет.