Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Всем привет!
Изучаю пример, столкнулся с проблемкой.
Пример на этапе: [url=]https://msdn.microsoft.com/ru-ru/library/ms166797(v=sql.110).aspx[/url] с п. №5
Приложен принтскрин.
нет узла переменные и птаюсь построить выражение типа конкатенации строк как в T-SQL только с двойными кавычками, ругается в выражении м.б. не хватает скобок.
пробовал так "D:\ProjectVS2012\DataAW\IS\"+@varFileName
где @varFileName имя переменной в контейнере.
Что не так?

К сообщению приложен файл. Размер - 144Kb
10 ноя 15, 16:02    [18395562]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Исследовал : не нравится символ "\" как быть
10 ноя 15, 16:09    [18395623]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,

два раза написать. \\
10 ноя 15, 16:14    [18395661]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
В нете не удается найти характерных примеров
пробовал:

"D:\\ProjectVS2012\\DataAW\\IS\\"+@varFileName по логике, не пропускает;

"D:\\ProjectVS2012\\DataAW\\IS\\"+"@varFileName" - так пропускает, но это глупость, при запуске пакета ошибка: не может найти файл с именем "D:\ProjectVS2012\DataAW\IS\@varFileName"
мыслей больше нет.
10 ноя 15, 17:26    [18396158]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
"D:\\ProjectVS2012\\DataAW\\IS\\"+@varFileName - причина пропуска: не видит переменную
Но она создана в контейнере "Foreach для файлов в папке" на панели "variable mapping"

К сообщению приложен файл. Размер - 138Kb
10 ноя 15, 17:44    [18396262]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,

Вы переменной присвойте эту колбасу. А затем используйте переменную.

Объявленной @varFileName присвойте выражение "D:\\ProjectVS2012\\DataAW\\IS\\"+мои_сложные вычисления_имени_по_формуле.
10 ноя 15, 18:43    [18396608]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
я все делал по инструкции примера
вот что в построителе контейнера: там папка , маска файла и создана переменная цикла
но менеджер соединения неструктурированного файла переменную не видит, хотя все по инструкции msdn.

К сообщению приложен файл. Размер - 147Kb
10 ноя 15, 18:54    [18396711]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
вот как выглядит дерево пакета

К сообщению приложен файл. Размер - 131Kb
10 ноя 15, 18:57    [18396729]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Там видна переменная User::varFileName
также она видна в построителе выражений вызываемом из закладок пакета
а вот в построителе выражения менеджера соединений она не видна, почему, что не так?
10 ноя 15, 19:00    [18396744]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Пробовал создавать параметры проекта.
Менеджер соединений как слепой.
Из документации по ssdt 2012: соединения доступны всем пакетам внутри проекта.
В дереве объектов пакета присутствуют соединения, область видимости переменных - пакет.
Где затык?
10 ноя 15, 21:24    [18397249]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Draginsv
Менеджер соединений как слепой.

Draginsv
а вот в построителе выражения менеджера соединений она не видна, почему, что не так?

Draginsv
В дереве объектов пакета присутствуют соединения, область видимости переменных - пакет.
У вас же переменная уровня контейнера For Each, а не уровня пакета. Видите, там есть ещё одна "папка" Variables внизу? Вот это и есть переменные уровня пакета.

Она у вас видна в контейнере For Each, и во всех вложенных.

Что бы переменная была видна и в соединении, и в For Each, её нужно определить на уровне пакета.

В SSIS при определении переменной нужно внимательно следить за контекстом - мышкой перед этим не туда ткнули, и определили переменную не там.
11 ноя 15, 00:35    [18397720]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Если это не на уровне пакета, то где ее надо создать?
Все делал по инструкции микрософт [url=]https://msdn.microsoft.com/ru-ru/library/ms166797(v=sql.110).aspx[/url] с п. №5

К сообщению приложен файл. Размер - 140Kb
11 ноя 15, 09:09    [18398256]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
В обозревателе решений соединения являются независимыми объектами и они создавались в самом начале примера, но они используются в пакете "урок 2" , м.б. поэтому вся проблема. С одной стороны иерархия универсальна. С другой стороны соединение как класс, а в пакете его экземпляр. Вот поэтому и класс не видит переменную внутри пакета. Это лишь мои рассуждения.
11 ноя 15, 09:52    [18398447]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Есть еще одна зацепка:
В построителе выражений объектов пакета в дереве узел - Переменные и параметры
В построителе выражений свойств соединения - Параметры проекта
Микрософт создал пример, разбирайтесь ищите обходные пути.
11 ноя 15, 10:13    [18398562]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Draginsv
Если это не на уровне пакета, то где ее надо создать?

Draginsv
В обозревателе решений соединения являются независимыми объектами и они создавались в самом начале примера, но они используются в пакете "урок 2" , м.б. поэтому вся проблема. С одной стороны иерархия универсальна. С другой стороны соединение как класс, а в пакете его экземпляр. Вот поэтому и класс не видит переменную внутри пакета. Это лишь мои рассуждения.

Draginsv
Есть еще одна зацепка:
В построителе выражений объектов пакета в дереве узел - Переменные и параметры
В построителе выражений свойств соединения - Параметры проекта
Микрософт создал пример, разбирайтесь ищите обходные пути.
Какие "зацепки"? Я же написал, куда мышкой тыкать?
11 ноя 15, 10:44    [18398735]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,

удалите переменную и создайте ее заново непосредственно в менеджере соединений.
11 ноя 15, 11:13    [18398872]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
А где в интерфейсе создавать переменные?
Вот конструктор источника из неструктурированного файла, о переменных ни слова и намека.

К сообщению приложен файл. Размер - 132Kb
11 ноя 15, 14:00    [18400025]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,

может быть как-то иначе можно, но я вывожу в файл, а затем его переименовываю (задачей). При замене имени можно использовать переменную.
11 ноя 15, 14:32    [18400263]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Методом тыка выяснил:
Построитель выражения свойств соединения видит только параметры проекта, параметры пакета и переменные не видит.
Сопоставление переменных в конструкторе контейнера потока управления только с переменными пакета.
Установлен sql server 2012 developer вместе с SSDT.
Вариантов скрестить эти объекты не нашел.
11 ноя 15, 14:46    [18400328]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Владислав Колосов,

А как же пример от микрософта.
11 ноя 15, 14:48    [18400341]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,
не знаю, я тоже методом тыка. :) Может быть можно @varFileName как-то преобразовывать, не было времени разбираться.
11 ноя 15, 15:17    [18400579]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Весь вопрос в видимости переменных, а не в преобразовании.
11 ноя 15, 15:30    [18400667]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
Попробуйте пожалуйста в ssdt такую проверку:
1. В проекте создайте источник данных из неструктурированного файла
2. Откройте в свойствах "Выражения".
3. Выберите свойство "ConnectionString".
4. Вызовите многоточием построитель выражений.
5. Как называется корневой узел в верхнем левом углу построителя выражений
6. Если называется "Параметры", то значит переменных не увидит, а если "Переменные и параметры" то тогда
откройте или создайте новый пакет и через меню SSID->Variables создайте любую переменную и проверьте ее доступность
в построителе выражения для свойств соединения.
Отпишитесь о доступности.
Заранее спасибо.
11 ноя 15, 16:22    [18401142]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Draginsv
Member

Откуда:
Сообщений: 457
У меня это не работает

К сообщению приложен файл. Размер - 149Kb
11 ноя 15, 16:29    [18401214]     Ответить | Цитировать Сообщить модератору
 Re: SSIS выражения свойств  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Draginsv,

переменную можно выбрать в построителе выражений, она у меня определена на уровне пакета.
11 ноя 15, 17:11    [18401569]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить