Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
Есть задача, в папку складываются с определенной периодичностью файлы, которые с помощью SISS пакета загружаются в БД. Все файлы одинаковой структуры. В пакете с помощью цикла перебираются эти файлы и в переменную записывается наименование файла, которая дальше используется в задаче Data Flow Task как источник данных. Когда в папке нет файла, который я указал в переменной при проектировании пакета, то пакет не работает.
Подскажите, как указать переменную, чтобы пакет работал, без файла, который я использовал при проектировании пакета?
17 фев 12, 10:36    [12107725]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31865
Newman1
Подскажите, как указать переменную, чтобы пакет работал, без файла, который я использовал при проектировании пакета?
Установите у таска параметр Delay validation, что бы не проверялась корректность таска до момента выполнения, когда переменная ещё не заполнена.
17 фев 12, 10:39    [12107748]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
Спасибо
17 фев 12, 11:11    [12107977]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
Сложилась ситуация, тот же пакет с те ми же условиями, но пришлось в него внести изменение, раньше в качестве источника были файлы Excel версии 97-2003, сечас Excel 2007, у Data Flow Task свойство Delay Validation не изменилось, но если отсутствует файл, на который проектировался пакет, выходит ошибка, что объект не найден.
Подскажите в чем может быть дело.
6 авг 12, 16:18    [12969257]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
все-таки проверьте св-во Delay Validation
6 авг 12, 17:14    [12969734]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3684
ошибка после старта? или вообще не стартует?
6 авг 12, 17:21    [12969782]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
y Data Task Flow свойство Delay Validation = true
ошибка возникает именно при обращении к файлу Excel в Data Task Flow, который в цикле
7 авг 12, 08:59    [12972629]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31865
Newman1
но если отсутствует файл, на который проектировался пакет, выходит ошибка, что объект не найден.

Newman1
ошибка возникает именно при обращении к файлу Excel в Data Task Flow, который в цикле
И при этом при обращении файл указан уже не тот, который был при проектировании, а правильный? Вы точно это знаете, в отладчике проверяли?
7 авг 12, 09:18    [12972700]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
Я в Script Task до Data Flow Task вывел в сообщении имя и путь к файлу, все правильно
Во вкладке результата выполнения нет информации к какому файлу было обращение
В отладчике не проверял, не знаю как
7 авг 12, 09:56    [12972806]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
проверьте, что после изменения пакета у вас в соединении к иксель файлу правильно строится строка подключения
скорее всего там должно быть "выражение"
7 авг 12, 09:58    [12972820]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
Я вывел в цикле перед Data Flow Task в сообщении переменную, которая является источником данных, полный путь и имя файла правильные, вставил путь в Run открылся нужный файл Excel
7 авг 12, 10:29    [12973026]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31865
Newman1
Я вывел в цикле перед Data Flow Task в сообщении переменную, которая является источником данных, полный путь и имя файла правильные, вставил путь в Run открылся нужный файл Excel
Переменная источник даных - что это такое?

Она у вас указана как выражение для строки соединения?

Какое то непонятное описание, как у вас сделано. А без описания не найти ошибку.
Newman1
Я в Script Task до Data Flow Task вывел в сообщении имя и путь к файлу
Так в дебаггере не проще посмотреть? Ставите брейкпойнт на Data Flow Task, и смотрите свойства коннекта к эксельному файлу.
Newman1
y Data Task Flow свойство Delay Validation = true
А у коннекта какое значение свойства Delay Validation?
7 авг 12, 10:35    [12973077]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
В цикле Foreach Loop Container перебираются файлы Excel, которые есть в папке, в переменную записывается полный путь до файла Excel, его я и назвал источником данных
Потом в Data Flow Task идет загрузка данных из файла Excel в SQL-таблицу
В момент обращения к файлу Excel выходит ошибка, что объект не найден, если вернуть файл в папку на который я указывал коннекцию к файлу Excel при проектировании, то все работает

автор
Так в дебаггере не проще посмотреть? Ставите брейкпойнт на Data Flow Task, и смотрите свойства коннекта к эксельному файлу.

в дебагере, я не нашел какое значение переменной, поэтому использовал Script Task
7 авг 12, 10:57    [12973282]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
1) а у конекшена к файлу случайно не выставлнео св-во Retain Same Connection ?
2) все-таки, как и где Вы устанавливаете строку соединения для SOURCE?
7 авг 12, 11:47    [12973818]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31865
Newman1
В цикле Foreach Loop Container перебираются файлы Excel, которые есть в папке, в переменную записывается полный путь до файла Excel, его я и назвал источником данных
Потом в Data Flow Task идет загрузка данных из файла Excel в SQL-таблицу
Так как Data Flow Task узнаёт, что нужно имя файла брать именно из этой переменной?
7 авг 12, 12:29    [12974286]     Ответить | Цитировать Сообщить модератору
 Re: Переменные в SISS  [new]
Newman1
Member

Откуда:
Сообщений: 13
автор
1) а у конекшена к файлу случайно не выставлнео св-во Retain Same Connection ?

нет не выставлено

автор
2) все-таки, как и где Вы устанавливаете строку соединения для SOURCE?

действительно, у коннекции в Expressions свойство ExcelFilePath = переменной, в которую Foreach Loop записывает имя текущего файла для обработки ничего не указано, точнее вообще ничего не указано
Установил, теперь все работает

Странно, раньше устанавливал. Не часто с пакетами работаю, вот и результат

Спасибо всем за помощь
7 авг 12, 12:57    [12974599]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить